3
素数の階乗の比として有理数を書く
注:このチャレンジはサンドボックスに投稿されています。 前書き この課題は、学部の数学コンテストの問題である2009 Putnam B1に触発されました。問題は次のとおりです。 すべての正の有理数は、素数の階乗の積として書けることを示します(必ずしも別個ではない)。例えば、 チャレンジ あなたの挑戦は、入力として正の有理数の分子と分母(または単に有理数自体)を表す、比較的素数の正の整数のペアを取り、素数の2つのリスト(または配列など)を出力することです入力された有理数は、最初のリストの素数の階乗の積と2番目のリストの素数の階乗の積の比に等しくなります。 ノート 最初のリストと2番目のリストの両方に含まれる素数がない場合があります。ただし、素数は、どちらのリストでも何度でも表示できます。 入力はそれぞれ(厳密には)1〜65535の間であると想定できます。ただし、出力する必要がある数値の階乗がこの範囲にあるとは限りません。 入力と出力の例 有効な入力と出力の例を次に示します。 input=>output 10,9 => [2,5],[3,3,3] 2,1 => [2],[] 3,1 => [3],[2] 1,5 => [2,3,2],[5] (elements of a list may be in any order) 3,2 => [3],[2,2] 6,1 => [3],[] 入力(2,2)、(0,3)、(3,0)、(3,6)および(1,65536)は不正な入力です(つまり、プログラムは特定の方法で動作する必要はありません) )。不正な出力の例を次に示します。 1,2 => [2],[2,2] (2 is in both …