【Java题目】计算离黄金分割点 0.618最近的两个数
【Java题目】计算离黄金分割点 0.618最近的两个数
寻找某两个数相除,其结果离黄金分割点 0.618最近。分母和分子不能同时为偶数。分母和分子 取值范围在[1-20]
public static void main(String[] args) {
int m = 1, n = 1;
for (int x = 1; x <= 20; x++) {
for (int y = 1; y <= 20; y++) {
if (x % 2 == 0 && y % 2 == 0) { // 分母和分子不能同时为偶数
continue;
}
if (Math.abs((double) x / y - 0.618) < Math.abs((double) m / n - 0.618)) { // 一定要强制转换为double
m = x;
n = y;
}
}
}
System.out.println(m + "/" + n + "= " + (double) m / n);
}
浙公网安备 33010602011771号