チャレンジ
正の整数を指定するN
と、最初のN
逆数の合計を正確な分数として出力します。これは、分子と分母を表す一貫した順序の整数のペアとして表されます。
ルール
出力は正確でなければなりません。
出力は、分子と分母を表す一貫した順序の整数のペアである必要があります。
非整数の数値型(組み込みまたはライブラリ)の使用は禁止されています。
- 明確化/例外:使用、計算、および返される値がすべて整数である場合にのみ、非整数の数値型は問題ありません(つまり、言語はデフォルトで有理数を使用しますが、答えには整数演算のみを使用します)
出力はできるだけ減らす必要があります。(
3/2
大丈夫です、そうで6/4
はありません)標準的な抜け穴は禁止されています。
提出は、少なくとも20までの入力、またはこのメタのいずれか高い方で機能する必要があります。
テストケース
1: 1/1
2: 3/2 (1/1 + 1/2)
3: 11/6 (1/1 + 1/2 + 1/3)
4: 25/12 etc.
5: 137/60
6: 49/20
20: 55835135/15519504
56: 252476961434436524654789/54749786241679275146400
226: 31741146384418617995319820836410246588253008380307063166243468230254437801429301078323028997161/5290225078451893176693594241665890914638817631063334447389979640757204083936351078274058192000
テストケースの生成(Python 3)
import fractions
def f(x):
return sum(fractions.Fraction(1,i) for i in range(1,x+1))
数値はOEIS A001008で、分母はOEIS A002805です。
gcd
「組み込み関数」あなたの言語がそれを提供している場合?
gcd
およびその他の組み込み関数は問題ありません。有理/分数型は許可されていません。