package org.bluebridge.topics;
/*埃及分数
古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。古埃及喜欢把一个分数分解为类似: 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 一共有多少个不同的埃及分解呢(满足加法交换律的算同种分解)?*/
public class EgyptFraction {
public static void main(String[] args) {
// 方法一:
// 老老实实的枚举
int count = 0;
for (int i = 2; i < 45; i++) {
for (int j = 2; j < 45 * 45; j++) {
int x = i + j, y = i * j;
if (2 * y == 45 * x) {
count++;
}
}
}
System.out.println(count);
// 方法二:
// 为什么i从23开始,因为2/45在2/44与2/46之间,所以分解的话,最大的边界就是1/23(2/46)
int x, y = 0;
for (int i = 23; i < 45; i++) {
// 如果刚好整除,那么下面的判断就对了,如果不是整除,x * (2 * i - 45)也不会复原回i * 45
x = i * 45 / (2 * i - 45);
if (x * (2 * i - 45) == i * 45) {
y++;
}
}
System.out.println(y);
}
}
埃及分数 古埃及曾经创造出灿烂的人类文明,他们的分数表示却很令人不解。
最新推荐文章于 2023-07-21 19:05:13 发布