Вам подарили 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 ).
N
является избыточным входом, можем ли мы отказаться от него?0
, пустой список, строку типа «невозможно» или вызвать ошибку) для невозможных случаев? (На самом деле я бы рекомендовал только допустимый ввод или разрешать неопределенное поведение в таких случаях, но это зависит от вас.)[7,8,8]
что было бы невозможно (с использованием2
обоих8
результатов в двух4
с.) Кроме того, если на входе было сказать[7,30,30]
тогда[7,2,2]
будет недействительным , но[7,2,3]
и[7,3,2]
среди других будет работать.Ответы:
05AB1E , 13 байтов
Попробуйте онлайн!
Порт моего Pyth ответа.
Ò
получает простой факт ö RS каждые..»
складывает двоичную команду,â
(C â rtesi â п продукта) между каждыми двумя элементами в списке справа налево с противоположными вправо / влево операндов.€˜
выравнивает € ач.ʒ...}
FiLt ʒ RS те , которые удовлетворяют следующему условию:÷
парное целочисленное деление со входом.D
D дубликат (помещает две копии предмета в стопку).Ù
удаляет повторяющиеся элементы, сохраняя ˙U niq ˙U е вхождение каждого элемента.Q
проверяет й Q uality.θ
получает последний элемент.источник
Желе ,
1514 байтПолная программа, которая принимает один аргумент, список чисел и печатает представление другого списка чисел, или
0
если задача невозможна.Попробуйте онлайн!
Как?
источник
µ⁼Q
это подойдет в качестве альтернативы необычному, но отличному сито!Pyth , 15 байт
Попробуй это здесь!
Как?
источник