挑战
给定一个正整数N
,输出第一个N
倒数的总和作为精确的分数,将其表示为一对整数,以一致的顺序表示分子和分母。
规则
输出必须准确。
输出应为一对整数,以一致的顺序表示分子和分母。
禁止使用非整数数字类型(内置或库)。
- 澄清/例外:当且仅当使用,计算和返回的所有值都是整数时,非整数数字类型才可以(例如,您的语言默认使用有理数,但您的答案中仅使用整数算术)
输出应尽可能减少。(
3/2
还可以,6/4
不是)禁止出现标准漏洞。
提交的内容至少应输入20个或此meta,以较高者为准。
测试用例
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
和其他内置函数很好。不允许使用有理/小数类型。