数学に関するこの質問に触発されました。
数nの素因数分解をP(n)= 2 a x 3 b x 5 c x ...として表すとします。
(乗算記号としてxを使用します。)n
の約数は、D(n)=(a + 1)x(b + 1)x(c + 1)...として表すことができます。
したがって、2nの約数はD(2n)=(a + 2)x(b + 1)x(c + 1)...で
あり、3nの約数はD(3n )=(a + 1)x(b + 2)x(c + 1)...など
。
チャレンジ:
特定の除数入力を指定して、これらのプロパティを使用してnを計算するプログラムまたは関数を作成します。
入力:
整数のセット、それらをw、x、y、zと呼び、次のすべての定義を使用します。
- すべての入力が1より大きい-
w, x, y, z > 1
- xとzは異なる-
x<>z
- XとZは -プライムあり
P(x)=x
、D(x)=2
かつP(z)=z
、D(z)=2
- wはxnの約数の数です-
D(xn)=w
- yはznの約数の数です-
D(zn)=y
リンクされた質問で与えられた問題の場合、入力例はになります(28, 2, 30, 3)
。これは、に変換D(2n)=28
してD(3n)=30
、とn=864
。
出力:
上記の定義および入力制限を満たす単一の整数n。複数の数値が定義に適合する場合、最小のものを出力します。そのような整数が使用できない場合は、偽の値を出力します。
例:
(w, x, y, z) => output
(28, 2, 30, 3) => 864
(4, 2, 4, 5) => 3
(12, 5, 12, 23) => 12
(14, 3, 20, 7) => 0 (or some other falsey value)
(45, 13, 60, 11) => 1872
(45, 29, 60, 53) => 4176
ルール:
- 標準のコードゴルフ規則と抜け穴の制限が適用されます。
- 標準の入出力ルールが適用されます。
- 入力番号は任意の順序にすることができます-使用する順序を回答で指定してください。
- 入力番号は、スペースで区切られた配列、配列、個別の関数またはコマンドライン引数など、任意の適切な形式にすることができます-あなたの選択。
- 同様に、STDOUTへの出力の場合、周囲の空白、末尾の改行などはすべてオプションです。
- 入力の解析と出力の書式設定は、この課題の興味深い機能ではありません。
- 正気の複雑さと整数オーバーフローのために、チャレンジ番号nには次のような制限があり
1 < n < 100000
ます。つまり、この範囲外の考えられる答えを心配する必要はありません。
関連する
したがって、最小のソリューションが100,000を超える場合、ソリューションを返すか、ゼロを返すかを選択できますか?
—
デニス
@Dennisコードが短くなる場合は、必ず。どちらでもかまいません。
—
AdmBorkBork