Memasukkan
tidak ada masukan untuk tantangan ini
Tantangan
Tulis kode yang menampilkan:
10 bilangan prima pertama yang jumlah digitnya sama dengan jumlah byte kode Anda
Contohnya
Katakanlah kode
Anda Co&%423@k"oo"
adalah 13 bytes
kode yang harus Anda keluarkan[67, 139, 157, 193, 229, 283, 337, 373, 409, 463]
mereka adalah 10 bilangan prima pertama yang jumlahnya .... ok Anda mendapatkannya!
Jika kode 8 bytes
Anda, Anda harus menampilkan[17, 53, 71, 107, 233, 251, 431, 503, 521, 701]
Aturan
Anda hanya harus menggunakan 10 ^ 8 bilangan prima pertama
yang berarti semua bilangan Anda harus <2038074743 = 10 ^ 8 prime
Jika Anda tidak dapat menemukan 10 bilangan prima dalam kisaran ini yang sesuai dengan byte Anda, maka Anda harus menyesuaikan kode Anda (Anda bahkan mungkin harus menambahkan beberapa byte!) Untuk menemukan " jumlah byte yang bekerja "
Keluarkan 10 bilangan prima dengan cara apa pun yang Anda suka
Ini adalah kode-golf , jadi kode terpendek dalam byte menang!
Jawaban:
Neim ,
1087 byte-1 byte berkat ASCII saja.
Cobalah online!
Output:
Ini (yah, setidaknya pendekatannya) tidak dapat diserang.
Penjelasan
sumber
νᛦ𝐋Λ𝐬7𝔼
untuk 7 ... edit:π
->ν
: pJelly , 14 byte
Cobalah online!
Ini mencetak:
Bagaimana itu bekerja
sumber
Pyth , 14 byte
Coba di sini.
Ini adalah 14 byte dan cetak:
Pyth , 16 byte
Coba di sini!
Perhatikan bahwa ini bisa 15 byte:,
.f&qssM`Z16P_ZTZ
tetapi tidak ada bilangan prima yang memiliki 15 sebagai jumlah digit mereka, karena15
dapat dibagi dengan3
, yang akan menyiratkan jumlah juga akan habis dibagi3
, sehingga tidak menjadi prima.Ini panjangnya 16 byte dan dicetak:
Bagaimana?
Penjelasan 1
Penjelasan 2
sumber
Sekam , 13 byte
Cobalah online!
Penjelasan
sumber
Haskell ,
7771 byteCobalah online!
Disimpan 6 byte berkat Laikoni
Untuk 71 byte:
1999999999 adalah angka dengan jumlah digit maksimum dalam rentang yang diizinkan, dan jumlah itu adalah 82. Program apa pun yang melebihi 82 byte tidak akan memenuhi ketentuan tersebut. Saya harap 77 byte tidak masalah, tetapi saya tidak tahu (masih berjalan di komputer saya).
EDIT: versi yang sedikit dioptimalkan memberikan 77 byte:
sumber
Jelly ,
1413 byteCobalah online!
Bagaimana?
sumber
Brachylog , 13 byte
Cobalah online!
sumber
05AB1E , 10 byte
Cobalah online!
Ini
}
digunakan sebagai pengisi, karena 9 adalah jumlah byte yang tidak valid.Keluaran:
[19, 37, 73, 109, 127, 163, 181, 271, 307, 433]
Penjelasan
Hampir 8 byte
Ini akan berlaku jika satu byte lagi dapat di-golf-kan.
Cobalah online!
Keluaran:
[17, 53, 71, 107, 233, 251, 431, 503, 521, 701]
Penjelasan
sumber
Mathematica, 52 byte
thanx ke @Tidak pohon untuk -6 byte
sumber
Select
berapa banyak hal yang ingin Anda kembalikan:Select[Prime@Range[10^6],Tr@IntegerDigits@#==52&,10]
Select[Prime@Range[77705],Tr@IntegerDigits@#==50&]
J, 29 byte
Cobalah online!
Jelas bekerja pada REPL, mungkin juga bekerja pada program reguler (tidak yakin bagaimana J menghasilkan output untuk program yang jujur).
Pass pertama, tidak terlalu ideal tetapi saya tidak bisa memikirkan pendekatan yang lebih pintar. Akan menyelidiki hardcoding urutan yang lebih kecil.
Penjelasan
872 menjamin bahwa hanya 10 bilangan prima pertama dengan jumlah digital 29 yang akan digunakan.
sumber
V ,
7371 byteCobalah online!
Kompresi penggantian substring sederhana - Saya memeriksa semua kemungkinan jawaban, dan kemudian melakukan beberapa "yang mana memiliki penggantian string sederhana yang menyimpan sebagian besar karakter" pengujian. misalnya menghasilkan tabel ini . [edit: Saya melihat lagi ke meja dan melihat saya bisa melakukan versi 71 byte sebagai gantinya].
Bilangan prima yang lebih tinggi memiliki bentang 9 yang lebih panjang di dalamnya, dan yang terbaik yang saya temukan adalah di mana angka-angka tersebut bertambah hingga 73, pola 89999 -> 1 char membawa teks turun dari 99 byte menjadi 63 byte. Menemukan cara untuk membatalkan 'a' -> '89999' di 10 byte yang tersisa membawa saya ke V.
sumber
Japt , 19 byte
Menguji
Penjelasan
Buat array bilangan bulat (
õ
) dari 1 hingga 100 (L
) kuadrat.Filter (
f
) dengan melewati masing-masing fungsi, di manaZ
elemen saat ini.Periksa apakah
Z
prime.Logis DAN (
&&
).Pisahkan
Z
menjadi array angka (ì
) dan kurangi dengan penambahan (x
).Periksa kesetaraan dengan
19
.Iris (
¯
) ke elemen ke-10 dan secara implisit menampilkan array yang dihasilkan.sumber
Japt , 19 byte
Cobalah online!dengan
-Q
bendera untuk memformat array.Menghasilkan 10 primes pertama yang digitnya ditambahkan ke
19
:Perhatikan bahwa ini dapat di-golf hingga 18 byte (
ì x
→ìx
), tetapi tidak ada bilangan prima dengan jumlah digit 18.Penjelasan
Petakan array
[0, ..., 9]
dengan fungsi berikut, di manaX
nilai saat ini.Kembalikan integer pertama yang mengembalikan true dari fungsi berikut, di mana
Z
nilai saat iniPeriksa apakah nomor ini prima, dan ...
Jumlah (
x
) dari digit (ì
)Z
sama dengan (¥
) 19,Dan
X
itu falsy («
is "and not", atau&&!
). Ini juga mengurangiX
(´
).Array yang dihasilkan secara implisit dikeluarkan.
sumber
PARI / GP, 40 byte
Tidak banyak golf tentang hal itu (pilih orang
x
- orang dengan jumlah angka 40 di antara 8600 prima pertama). Output adalah:sumber
Pyke , 10 byte
Coba di sini!
sumber
Ruby 2.4.1, 74 Bytes
Saya tidak akan pernah bisa mengalahkan salah satu bahasa yang dioptimalkan Codegolf, tapi tetap menyenangkan melakukannya di Ruby. Frustasi bahwa Prime tidak ada di Core tetapi di justru di perpustakaan standar. Saya juga frustrasi bahwa saya tidak bisa mengalahkan Haskell.
sumber
Paradoc (v0.2.7 +), 10 byte (CP-1252)
Cobalah online!
Agak dipertanyakan karena mencetak semua angka tanpa pemisah di antara mereka. Program 11 byte yang mencetak setiap angka pada baris terpisah:
Satu-satunya hal yang layak disebutkan tentang itu adalah batas atas yang sedikit lebih sulit dibangun:
Iè
adalah 18² = 324.sumber
Permen karet , 37 byte
Cobalah online!
Output adalah
29989,39799,39979,48799,48889,49789,56989,58699,58789,58897
sumber