题目描述:
寻找某两个数相除,其结果 离黄金分割点 0.618最近
分母和分子不能同时为偶数
分母和分子 取值范围在[1-20]
代码:
public class Fortest {
public static void main(String[] args) {
/**
* 寻找某两个数相除,其结果 离黄金分割点 0.618最近
*
* 分母和分子不能同时为偶数
* 分母和分子 取值范围在[1-20]
*/
int a =0;
int b= 0;
double min = 100000000000.00;
double res = 0;
for(int i=1;i<=20;i++){
for (int j=1;j<=20;j++){
if (i %2 == 0 && j%2 ==0){
continue;
};
double cha = (double)i/j - 0.618d;//需要把int值转为double 类型值 进行运算
if (Math.abs(cha)<min){
min = Math.abs(cha);
a = i;
b =j;
res = (double)i/j;
}
}
}
System.out.println("a:"+a+" b:"+b+" res:"+res);
}
}