黄金分割点

问题

寻找某两个数,其商离黄金分割点 0.618 最近,要求
分母和分子不能同时为偶数;
分母和分子取值范围在 [1-20]。

解答

public class TheGoldenSection
{
    public static void main (String[] args)
    {
        TheGoldenSection tgs = new TheGoldenSection();
        tgs.calculate();
    }
    
    public void calculate ()
    {
        int top = 1;
        int bottom = 1;
        double min = 1;
        for(double i = 1; i <= 20; i++)
        {
            for(double j = i+1; j <= 20; j++)
            {
                double t = i/j - 0.618;
                if(t < 0) 
                {
                    t = -t;   
                }
                if( t < min)
                {
                    min = t;
                    top = (int)i;
                    bottom = (int)j;
                }
            }
        }
        System.out.println(top + "/" + bottom);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容