Java控制流程的小练习
寻找某两个数相除,其结果 离黄金分割点 0.618最近
分母和分子不能同时为偶数
分母和分子 取值范围在[1-20]
public class GoldFenge { public static void main(String[] args) { // TODO Auto-generated method stub double temp = 100; double difference; double gold = 0.618;//黄金分割点 int fenzi = 0; int fenmu = 0; for (int i = 1; i < 20; i++) { for (int j = 1; j < 20; j++) { //分子分母不能都是偶数 if (i % 2 == 0 && j % 2 == 0) continue; double a = (double) i / j;//取值 difference = a - gold;//取离黄金分割点的差值 difference = difference < 0 ? 0 - difference : difference;//绝对值 //找出最小差值 if (temp > difference) { temp = difference; fenzi = i; fenmu = j; } } } System.out.println("离黄金分割点最近的值是" + temp + "\t分子是:" + fenzi + "\t分母是:" + fenmu); } }

浙公网安备 33010602011771号