您已获得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对于不可能的情况,我们是否可以得出其他一些无法实现的结果(例如,空列表,类似“不可能”的字符串或引发错误)?(实际上,我只建议您输入有效的输入,或者在这种情况下允许未定义的行为,但这取决于您。)
您可以放弃N的输入。对第二个问题可以。
—
McLinux
那么,每个数字的最低除数是多少?
—
totallyhuman
@totallyhuman不大-如果输入的是说
—
乔纳森·艾伦,
[7,8,8]这是不可能的(因为使用2两个8在两个结果4秒)。此外,如果输入了说[7,30,30]则[7,2,2]是无效的,但[7,2,3]和[7,3,2]在其他之中会工作。
N是多余的输入,我们可以放弃吗?