您已获得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
是多余的输入,我们可以放弃吗?