Dalam keadilan, ini didasarkan pada pertanyaan StackExchange - tapi itu pertanyaan yang bagus.
Tantangannya cukup sederhana:
- Ambil serangkaian angka
- Temukan dan cetak nomor prima bersebelahan terbesar dalam string
Mencetak:
- Jumlah karakter terendah menang.
- Victor kemungkinan akan menjadi entri skrip golf tetapi kami tidak akan menentangnya, karena kita semua bersenang-senang dan mempelajari banyak hal, benar.
- Pemenang kami akan diberikan ketika saya melihat bahwa saya belum mencentang tombol hijau.
Asumsi:
- String hanya berupa angka
- Jika string berisi huruf, Anda mungkin memiliki perilaku tidak terdefinisi
- String berisi setidaknya 1 prime
- Jika string tidak mengandung 1 bilangan prima yang valid, Anda mungkin memiliki perilaku tidak terdefinisi
- Kecepatan bukanlah kendala
- Gunakan algoritma prima yang lebih pendek daripada yang lebih cepat.
- Jika entri Anda akhirnya selesai, tidak apa-apa, pastikan itu akan terbukti terjadi sebelum panasnya kematian alam semesta.
- Panjang string dapat diasumsikan kurang dari 15 karakter
Sebagai contoh:
>> Input: 3571
<< Output: 3571
>> Input: 123
<< Output: 23
>> Input: 1236503
<< Output: 236503
>> Input: 46462
<< Output: 2
>> Input: 4684
<< Output: ValueError: max() arg is an empty sequence
>> Input: 460
<< Output: 0 # Note, zero is not a prime, but the above string has no valid prime
>> Input: 4601
<< Output: 601
>> Input: "12 monkeys is a pretty good movie, but not as good as se7en"
<< Output: ValueError: Fight Club was also good, I find Brad Pitt to be a consistantly good actor.
Kemungkinan implementasi:
- Temukan semua substring dari input, periksa apakah mereka prima. - Legostormtroopr (asli)
- Temukan semua bilangan bulat kurang dari input, periksa apakah mereka ada di input kemudian periksa apakah bilangan prima - Ben Reich
- Ambil daftar semua bilangan prima kurang dari input, periksa apakah ada di input - daniero