首页 > 技术文章 > 寻找某两个数相除,其结果 离黄金分割点 0.618最近,分母和分子不能同时为偶数 * 分母和分子 取值范围在[1-20]

TaoLeonis 2017-03-25 20:32 原文

public class Test11 {
public static void main(String[] args) {
  int range = 20;
  float min=1;
  int FenZi=0;
  int FenMu=0;
  float goldline = 0.618f;
  for (int fenzi = 1; fenzi <=range; fenzi++) {
    for (int fenmu = 1; fenmu <= range; fenmu++) {
      if(0 == fenzi % 2 && 0 == fenmu % 2)
        continue;
        float xiaoshu = (float)fenzi/fenmu;
        float m = xiaoshu-goldline;
        m=m<0?0-m:m;
        if(m<min){
        min=m;
        FenZi=fenzi;
        FenMu=fenmu;
        }
      }
    }
    System.out.println("离黄金分割点(" + goldline + ")最近的两个数相处是:" + FenZi + "/" + FenMu + "="
      + ((float) FenZi / FenMu));

  }

}

  

推荐阅读