Size N sikke yığını verildi. Bu B 1 , B 2 , ..., B N yığınlarının her birini ayrı gruplara ayırmaya karar verdiniz . Madeni para alan kişilerin miktarı asal sayı olmalı ve her bir kişiye verilen para miktarı her bir yığın için farklı olmalıdır.
Girdi: N, B 1 , B 2 , ..., B N (Her bir yığındaki jeton miktarı).
Çıktı: NP 1 , NP 2 , ..., NP N , NP paraları alan kişi sayısıdır (asal sayı). Bu mümkün ise, o zaman, bazı ulaşılmaz sonucu verir (gibi 0
, -1
, None
, []
, ya da "impossible"
) ya da bir hata.
Misal:
3
7 8 9
Çıktı: 7 2 3
7, 7'yi eşit olarak bölebilen tek asal sayı olduğu için, 8 ve 2 ve 9 ve 3 için aynıdır. Ayrıca, (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 ).
0
İmkansız durumlar için ulaşılamayan başka bir sonuç verebiliriz (örn. Boş bir liste, "imkansız" gibi bir dize veya bir hata oluşturabilir)? (Aslında sadece geçerli bir girdi öneriyorum veya bu gibi durumlarda tanımsız davranışlara izin veriyorum, ancak bu size bağlı.)
[7,8,8]
(kullanarak bu yana imkansız olur 2
hem de 8
iki sonuçları 4
. s) Bundan başka, giriş ki eğer [7,30,30]
sonra [7,2,2]
geçersiz fakat olur [7,2,3]
ve [7,3,2]
diğerleri çalışmak arasında.
N
gereksiz bir girdidir, almaya devam edebilir miyiz?