あなたはコインの山を与えられました。これらの各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 )。
不可能な場合に、他の達成不可能な結果(たとえば
—
Jonathan Allan
0
、空のリスト、「不可能」のような文字列、またはエラーを発生させる)を生成できますか?(実際には、有効な入力のみ、またはそのような場合に未定義の動作を許可することをお勧めしますが、それはあなた次第です。)
Nの入力は省略できます。そして2番目の質問は「はい」です。
—
McLinux 2017
それでは、各数値の最も低い素数ですか?
—
完全に人間的な2017
@totallyhuman完全ではありません-入力が言わ
—
ジョナサンアラン
[7,8,8]
れたら不可能です(2
両方の8
結果を2 4
秒で使用するため)。さらに、入力が言われた[7,30,30]
場合[7,2,2]
は無効になりますが[7,2,3]
、[7,3,2]
とりわけ機能します。
N
冗長な入力ですが、それを無視することはできますか?