Tulis sebuah program yang mengambil input (yang mungkin atau mungkin bukan prime), dan buat daftar prime langsung berikut dan sebelum itu.
Input contoh:
1259
Contoh output:
1249 1277
Kemenangan program terpendek. Harus dijalankan dalam 10 detik pada PC desktop modern. Input akan dibatasi hingga maksimum 10.000.
n
untuk primality dengan membuatn
karakter string panjang dan mengujinya terhadap regex benar-benar mengerikan?Jawaban:
Perl 5.10 (perl -E), 65 karakter
Setengah kredit (setidaknya) harus ke @J B.
sumber
qr
, -4 karena tidak memerlukan pembatas nanti).qr
. LMGTFY: 81 karakter$m=$n=<>;$p='^1$|(^11+)\1+$';0while(1x--$m)=~$p;0while(1x++$n)=~$p;print"$m $n$/"
perl -E'$m=<>;for(-1,1){$n=$m;0while(1x($n+=$_))=~q<^1$|(^11+)\1+$>;say$n}'
Mathematica , 19
sumber
Mathematica: 28 karakter
Pemakaian
sumber
Python - 93
Berdasarkan jawaban oleh fR0DDY . Saya pada dasarnya menggabungkan baris 4 dan 5, dan memperpendek garis 2 dengan menggunakan metode yang berbeda.
sumber
Python
116111109 Karaktersumber
f=lambda n:not(all(pow(b,n-1,n)<2for b in(3,5,7,13)))
n=input()-1
danm=n+2
, menghemat 3 karakter ... saya pikir.not(all(...))
denganany(...)
membalik boolean108
.J, 22 karakter
sumber
Haskell: 99
Contoh
sumber
Python, 116
139karakter (indentasi ganda adalah tab-char)Gunakan Saringan Eratosthenes yang baik
Suntingan dan (terima kasih TON @JPvdMerwe). Harus bekerja dengan bilangan prima sekarang.
Asli
sumber
a=range(9999)
dengana=range(n)
. Juga di baris 2 Anda tidak perlu meneruskana
ke lambda, Anda bisa menggunakannya. Ini harus banyak mencukur.Scala 119:
ungolfed:
21.2 untuk menjalankan semua 9998 int mulai dari 3 hingga 10.000
sumber
Jelly , 5 byte (tidak bersaing?)
Cobalah online!
sumber
Swift
190187185110Swift sangat buruk dalam kode-golf, tetapi saya tetap mencobanya: D
Semakin pendek dan pendek ... (Terima kasih kepada @HermanLauenstein karena menghapus 75 byte)
sumber
var a=Int(readLine()!)!;for b in[-1,1]{var n=a,c=0;while c<1{n+=b;c=1;for i in 2..<n{if n%i<1{c=0}}};print(n)}
(saya belum mengujinya dengan benar)Python (123)
CATATAN:
Primes
Modul ini ditulis oleh saya tetapi sudah ada sebelum pertanyaan ini diajukan. TIDAK ditulis untuk ini. Namun demikian, ini dianggap tidak adil, jadi di sini adalah versi yang diperbarui.Python (215)
sumber
123
Primes
; melawan semangat kode golf.Stax , 7 byte
Jalankan dan debug itu
Setara ASCII:
Built-in.
sumber
JavaScript (Node.js) , 79 byte
Cobalah online!
sumber
C (gcc) , 98 byte
Cobalah online!
Versi program lengkap, C (gcc) , 116 byte
Cobalah online!
Kedua versi berasumsi bahwa kami tidak pernah menguji 1 untuk primality, yang hanya terjadi jika inputnya 2 atau lebih rendah, dalam hal ini outputnya tetap tidak akan ditentukan.
sumber