Saya berbicara tentang pertanyaan ini , lihatlah jika Anda agak bingung.
Tugas utama
Tugas Anda adalah untuk menghasilkan bilangan bulat bersambung, dalam urutan menurun, tetapi meningkatkan bilangan bulat maksimum setiap kali Anda menekan 1
(untuk pertanyaan ini, 1 akan dianggap sebagai bilangan prima) . Meskipun ini tidak terdengar berbeda dari pertanyaan pertama, inilah bagian yang sulit: Semua angka yang dihasilkan mungkin hanya bilangan prima . Ini akan dirangkai menjadi satu string tanpa spasi atau baris baru. Masukan Anda juga akan menjadi bilangan prima .
Contoh:
1
21
321
5321
75321
1175321
Valid output:
1213215321753211175321
Memasukkan
Kode Anda hanya dapat mengambil satu input: perdana tertinggi untuk dicetak. Input ini dapat berasal dari mana saja (grafis, STDIN). Anda yakin bahwa inputnya adalah bilangan prima.
Keluaran
Anda harus menampilkan nomor yang dihasilkan. Anda bisa mendapatkan nomor ini dengan terus menghitung mundur, hanya menghitung nomor jika itu prima, lalu hubungkan semua hasil bersama ke satu nomor. "Baris" nomor terakhir (mis. 7, 5, 3, 2, 1
) Harus dicetak sepenuhnya. Outputnya bisa berupa apa saja (angka, string, grafik), asalkan bisa dibaca. Pola Regex yang sama untuk memeriksa kasus pengujian Anda berlaku:
^(\D*(\d)+\D*|)$
Jika output Anda tidak cocok dengan pola ini, kode Anda tidak valid.
Aturan
- Input dijamin prima, tidak termasuk penanganan kesalahan, kecuali jika Anda ingin / perlu.
- Outputnya mungkin hanya angka yang terhubung penuh, oleh karena itu tidak terpecah oleh apa pun, bahkan baris baru.
- Algoritme Anda seharusnya tidak memeriksa instance pertama yang
N
muncul (misalnya,17
in1175321
), melainkan untuk instance pertamaN
sebagai angka aktual. - Masukan Anda dijamin positif, jangan tambahkan penanganan kecuali Anda mau / perlu.
Uji kasus
Input: -2, 0
Output: Any, or none (number isn't positive)
Input: 9
Output: Any, or none (number isn't prime)
Input: 1
Output: 1
Input: 7
Output: 121321532175321
Input: 23
Output: 1213215321753211175321131175321171311753211917131175321231917131175321
Pemenang
Ini adalah kode-golf , jadi pembuat kode dengan panjang byte paling sedikit menang!
1
secara langsung bertentangan dengan spec, yang " meyakinkan " bahwa nomor input akan menjadi prima. 2. Spesifikasi output tampaknya mengandung banyak kontradiksi dan ambiguitas. " Angka" baris "terakhir (mis. 7, 5, 3, 2, 1) harus dicetak sepenuhnya " - jadi yang lain tidak? " Pola Regex yang sama untuk memeriksa kasus pengujian Anda berlaku ", tetapi " Output mungkin hanya angka yang terhubung penuh, oleh karena itu tidak terpecah oleh apa pun " bertentangan dengan regex itu. Tetapi regex jelas-jelas cerdik karena memungkinkan string kosong, dan tidak ada input yang bisa memberikan itu.
1
adalah prima menurut definisi.