Anda telah diberi N tumpukan koin. Anda telah memutuskan untuk membagi masing-masing tumpukan B 1 , B 2 , ..., B N di antara kelompok-kelompok orang yang berbeda. Jumlah orang yang menerima koin haruslah bilangan prima dan jumlah uang yang diberikan kepada setiap orang harus berbeda di setiap tumpukan.
Input: N, B 1 , B 2 , ..., B N (Jumlah koin di setiap tumpukan individu).
Output: NP 1 , NP 2 , ..., NP N dengan NP menjadi jumlah orang (bilangan prima) yang menerima koin. Jika ini tidak mungkin kemudian menghasilkan beberapa hasil tidak bisa diraih (seperti 0
, -1
, None
, []
, atau "impossible"
) atau meningkatkan kesalahan.
Contoh:
3
7 8 9
Keluaran: 7 2 3
Karena 7 adalah satu-satunya bilangan prima yang dapat membagi 7 secara merata, sama untuk 8 dan 2 dan 9 dan 3. Juga, perhatikan bahwa (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 ).
N
adalah input yang berlebihan, bisakah kita tidak mengambilnya?0
, daftar kosong, string seperti "tidak mungkin", atau menimbulkan kesalahan) untuk kasus yang tidak mungkin? (Saya benar-benar akan merekomendasikan hanya input yang valid, atau mengizinkan perilaku yang tidak terdefinisi dalam kasus seperti itu, tetapi terserah Anda.)[7,8,8]
itu tidak mungkin (karena menggunakan2
untuk kedua8
hasil dalam dua4
s.) Selanjutnya, jika input dikatakan[7,30,30]
maka[7,2,2]
akan tidak valid tetapi[7,2,3]
dan di[7,3,2]
antara yang lain akan bekerja.Jawaban:
05AB1E , 13 byte
Cobalah online!
Port jawaban Pyth saya.
Ò
mendapat kenyataan perdana Ò rs masing-masing..»
melipat perintah diad,â
(c â rtesi â n produk) antara masing-masing dua elemen dalam daftar dari kanan ke kiri dengan operan kanan / kiri yang berlawanan.€˜
ratakan € ach.ʒ...}
filt ʒ rs mereka yang memenuhi kondisi berikut:÷
divisi integer berpasangan dengan input.D
D uplicate (mendorong dua salinan item ke tumpukan).Ù
menghilangkan duplikat elemen, menjaga Ù Niq Ù e terjadinya setiap elemen.Q
memeriksa e Q uality.θ
mendapat elemen terakhir.sumber
Jelly ,
1514 byteProgram lengkap yang menerima satu argumen, daftar angka, dan mencetak representasi dari daftar angka lainnya, atau
0
jika tugasnya tidak mungkin.Cobalah online!
Bagaimana?
sumber
µ⁼Q
akan bekerja sebagai alternatif untuk ayakan berbeda mewah, tapi pekerjaan yang baik!Pyth , 15 byte
Coba di sini!
Bagaimana?
sumber