Dengan bilangan bulat lebih besar dari 1, hasilkan jumlah cara yang dapat dinyatakan sebagai jumlah dari satu atau lebih bilangan prima berturut-turut.
Urutan musim panas tidak masalah. Jumlah dapat terdiri dari satu angka (sehingga output untuk prime apa pun akan setidaknya 1.)
Ini adalah kode-golf . Aturan standar berlaku.
Lihat wiki OEIS ini untuk informasi dan urutan terkait, termasuk urutan itu sendiri OEIS A054845 .
Uji kasus
2 => 1
3 => 1
4 => 0
5 => 2
6 => 0
7 => 1
8 => 1
10 => 1
36 => 2
41 => 3
42 => 1
43 => 1
44 => 0
311 => 5
1151 => 4
34421 => 6
2æR
sama denganÆR
R , 95 byte
Cobalah online!
sumber
x
!cumsum
dan pengaturan beberapa elemen pertama0
untuk mendapatkan jumlah perdana berturut-turut. Golf utama hanya saya yang mencoba membuat test case terakhir berfungsi, dan saya beruntung bahwa itu lebih pendek daripadaouter
! Saya memiliki lebih dari cukup perwakilan (setidaknya sampai kita mendapatkan persyaratan perwakilan yang tepat), dan saya selalu senang membantu lebih banyak pegolf R mendapatkan lebih banyak visibilitas!05AB1E , 6 byte
Kode
Menggunakan penyandian 05AB1E . Cobalah online!
sumber
JavaScript (ES6), 92 byte
Cobalah online!
Berkomentar
sumber
MATL,
1512 byteCobalah di MATL Online
Inisial
E
(dikalikan dengan 2) memastikan bahwa, untuk input prima, hasil nantiYs
(cumsum
) tidak memiliki input prima yang berulang di bagian nol dari matriks (sehingga mengacaukan penghitungan).Penjelasan:
sumber
Brachylog ,
149 byteCobalah online!
Berbagai kasus uji
(-5 seluruh byte, terima kasih kepada @ Kalpeb!)
Penjelasan:
sumber
⟦ṗˢ
di dalamᶜ
loop. Saya mendapat{⟦ṗˢs+;?=}ᶜ
Test suite ini: Cobalah online!;?=
by?
dan mendapatkan{⟦ṗˢs+?}ᶜ
(9 bytes)Retina 0.8.2 , 68 byte
Cobalah online! Tautan mencakup test case yang lebih cepat. Penjelasan:
Jalankan seluruh skrip dalam mode multiline di mana
^
dan$
cocokkan di setiap baris.Konversikan ke unary dua kali, pertama menggunakan
_
s, lalu menggunakan1
s._
Hapus semua angka komposit dalam rentang.
_
_
1
sumber
Sekam ,
98 byte-1 byte terima kasih kepada Mr.Xcoder (gunakan argumen bernama
¹
alih-alihS
)!Cobalah online!
Penjelasan
sumber
#¹ṁ∫ṫ↑İp
sebaiknya menghemat 1 byte.MATL , 16 byte
Cobalah di MATL Online!
Penjelasan
sumber
Python 2 ,
106104 byteCobalah online!
sumber
Bersih ,
10098 byteCobalah online!
Menentukan fungsi
$ :: Int -> Int
yang berfungsi seperti yang dijelaskan di bawah ini:(Penjelasan untuk versi yang lebih lama tetapi identik secara logis)
sumber
Perl 6 , 53 byte
Cobalah online!
Menggunakan operator reduksi segitiga dua kali. Kasing tes terakhir terlalu lambat untuk TIO.
Penjelasan
sumber
Japt, 17 byte
Pasti ada cara yang lebih singkat dari ini!
Craps pada test case terakhir.
Cobalah atau jalankan semua test case
Penjelasan
sumber
Java 10,
195194184182 byte-1 byte terima kasih kepada @ceilingcat .
-10 byte terima kasih kepada @SaraJ .
Cobalah online.
Penjelasan:
Ini pada dasarnya mirip dengan jawaban Jelly atau 05AB1E , hanya 190 byte lebih .. XD
Di sini perbandingan untuk masing-masing bagian, ditambahkan hanya untuk bersenang-senang (dan untuk melihat mengapa Java sangat bertele-tele, dan bahasa-bahasa golf ini sangat kuat):
n->{}
[2, n]
: (Jelly: 2 byte)ÆR
; (05AB1E: 2 byte)ÅP
; (Java 10: 95 byte)var L=new java.util.Stack();int i=1,k,x,s,r=0;for(;i++<n;){for(k=1;i%++k>0;);if(k==i)L.add(i);}
Ẇ
; (05AB1E: 1 byte)Œ
; (Java 10: 55 byte)for(x=L.size(),i=0;i<x;)for(k=i++;k<x;)
dan(int)L.get(k++);
§
; (05AB1E: 1 byte)O
; (Java 10: 9 bytes),s
dan,s=0
dans+=
ċ
; (05AB1E: 2 byte)QO
; (Java 10: 15 byte),r=0
danr+=s==n?1:0
return r;
sumber
218918
dalam 12,5 detik tbh, mengingat itu akan melakukan218918-2 = 218,916
iterasi dengan di dalam lingkaran dalam:n
iterasi untuk setiap prime; 1 iterasi untuk setiap nomor genap; dan di suatu tempat antara[2,p/2)
iterasi untuk setiap angka ganjil (hampir dua miliar iterasi), setelah itu menambahkan19518
bilangan prima ke daftar dalam memori. Dan kemudian itu akan mengulangsum([0,19518]) = 190,485,921
kali tambahan dalam loop bersarang kedua .. 2.223.570.640 iterasi total tepatnya .%i
karena kami sedang memeriksa dalam range[2, n]
, jadi saya tidak perlu memeriksanyai=1
. :)Physica , 41 byte
Cobalah online!
Bagaimana itu bekerja
sumber
Haskell , 89 byte
Cobalah online!
Alternatif, 89 byte
Cobalah online!
sumber