整数のパーティションの数は、整数を正の整数の合計として表すことができる方法の数です。
例えば:
5
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
番号5を表す方法は7つあります。したがって、7は番号5に対応するパーティション番号です。
行き方
入力として正の整数を取り、入力番号に最も近い2つのパーティション番号を生成する2 つの数値を出力するプログラムを作成します。
- 入力は1つの正の整数でなければなりません。
- 入力がそうでない場合パーティション番号で番号に最も近い2つのパーティション番号を生成する2つの異なる正の整数でなければなりません。(2つのパーティション番号が出力番号の1つの候補に等しい場合、どちらを選択してもかまいません。)
- 入力がパーティション番号である場合、出力は入力番号を生成する1つの正の整数でなければなりません。
- 入力および出力は、合理的な形式である可能性があります。
- 入力が1億を超えないことを想定できます(たとえば、出力が95を超えることはありません)。
- パーティション番号を計算する組み込み関数は、他の標準の抜け穴と一緒に許可されていません。
- これはcode-golfなので、最小バイト数が勝ちます。
例
Input: 66
Output: 11, 12
(番号11と12に対応するパーティション番号は56と77で、66に最も近い2つのパーティション番号です。)
Input: 42
Output: 10
(番号42はすでにパーティション番号です。そのため、パーティション番号に対応する番号を出力するだけです。)
Input: 136
Output: 13, 14
(136に最も近い2つのパーティション番号は、実際には両方とも136未満です(例:101と135)。したがって、出力は14と15ではなく13と14です。)
Input: 1
Output: 0 or 1
(この特殊なケースでは、0と1の両方が有効な出力です。)
Input: 2484
Output: 26, 25 or 26, 27
(2484が等しいDであるので、これらの出力の両方が、有効である私のスタンスは1958年から3010から)
Input: 4
Output: 3, 4
(うん)
パーティション番号を定義しませんでした
—
誇りに思ってhaskeller 14
@proudhaskellerパーティション番号は、リンクされているOEISシーケンス内の番号です。パーティション番号の説明
—
kukac67 14
5
は上部にあります。(十分に明確でないと思われる場合は、説明を追加します。)
これはこの初期のパーティション質問のだまされたものに非常に近いです。
—
ピーターテイラー14