Вам дали N купи паль монет. Ви вирішили розділити кожну з цих груп B 1 , B 2 , ..., B N між окремими групами людей. Кількість людей, які отримують монети, має бути простим числом, а кількість грошей, що даються кожній людині, має бути різною у кожній купі.
Вхід: N, B 1 , B 2 , ..., B N (кількість монет у кожній окремій купі).
Вихід: NP 1 , NP 2 , ..., NP N з NP - кількість людей (проста кількість), які отримують монети. Якщо це неможливо , то вихід якої - то недосяжний результат (наприклад 0
, -1
, None
, []
або "impossible"
) або викликати помилку.
Приклад:
3
7 8 9
Вихід: 7 2 3
Оскільки 7 - єдине просте число, яке може поділити 7 рівномірно, те саме для 8 і 2 і 9 і 3. Також зауважте, що (7/7 = 1) ≠ (8/2 = 4) ≠ (9/3 = 3 ).
0
, порожній список, рядок типу "неможливо" чи помилка) для неможливих випадків? (Я насправді рекомендую лише дійсні дані або дозволяти не визначене поведінку в таких випадках, але це залежить від вас.)
[7,8,8]
це було б неможливо (оскільки використання 2
обох 8
результатів за дві 4
с.) Крім того, якби введення було сказано, [7,30,30]
то воно [7,2,2]
було б недійсним, але [7,2,3]
і [7,3,2]
серед інших працювало б.
N
це зайвий внесок, чи можемо ми відмовитися від його використання?