古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 1/a + 1/b 的格式。
这里,a 和 b 必须是不同的两个整数,分子必须为 1
比如,2/15 一共有 4 种不同的分解法(姑且称为埃及分解法):
1/8 + 1/120
1/9 + 1/45
1/10 + 1/30
1/12 + 1/20
那么, 2/45 一共有多少个不同的埃及分解呢(满足加法交换律的算同种分解)? 请直接提交该整数(千万不要提交详细的分解式!)。
请严格按照要求,通过浏览器提交答案。
注意:只提交分解的种类数,不要写其它附加内容,比如:说明性的文字
暴力枚举
1/a + 1/b = c/d
1 + a/b = ac/d
b + a = abc/d
ad + bd = abc
我们让a<b,那么1/a肯定要小于c/d,也就是2/45,即可推出22.5<a<45,暴力枚举b即可。
Code
if __name__ == '__main__':
ans, c, d = 0, 2, 45
for a in range(22, 46):
for b in range(a + 1, 10000):
if a * d + b * d == a * b * c:
print(f'1/{a} + 1/{b} = {c}/{d}')
ans += 1
print(ans)
1/23 + 1/1035 = 2/45
1/24 + 1/360 = 2/45
1/25 + 1/225 = 2/45
1/27 + 1/135 = 2/45
1/30 + 1/90 = 2/45
1/35 + 1/63 = 2/45
1/36 + 1/60 = 2/45