zoukankan      html  css  js  c++  java
  • Java知识系统回顾整理01基础05控制流程08综合练习

    一、练习--黄金分割点

    题目:

    寻找某两个数相除,其结果 离黄金分割点 0.618最近

       

    分母和分子不能同时为偶数

    分母和分子 取值范围在[1,20] (即1到20)

    要求效果:

       

    public class HelloWorld {

        public static void main(String[] args) {

       

            // 寻找某两个数相除,其结果 离黄金分割点 0.618最近      

            // 分母和分子不能同时为偶数

            // 分母和分子 取值范围在[1-20]

            int range = 20; // 取值范围

            float breakPoint = 0.618f; // 黄金分割点

            float minDiff = 100; // 离黄金分割点的差值

            int answerFenzi = 0; // 找到的分子

            int answerFenmu = 0; // 找到的分母

            for (int fenzi = 1; fenzi <= range; fenzi++) {

                for (int fenmu = 1; fenmu <= range; fenmu++) {

                    // 分母和分子不能同时为偶数

                    if (0 == fenzi % 2 & 0 == fenmu % 2)

                        continue;

                    // 取值

                    float value = (float) fenzi / fenmu;

                    // 取离黄金分割点的差值

                    float diff = value - breakPoint;

                    // 绝对值

                    diff = diff < 0 ? 0 - diff : diff;

                    // 找出最小的差值

                    if (diff < minDiff) {

                        minDiff = diff;

                        answerFenzi = fenzi;

                        answerFenmu = fenmu;

                    }

                }

            }

       

            System.out.println("离黄金分割点(" + breakPoint + ")最近的两个数相除是:" + answerFenzi + "/" + answerFenmu + "="

                    + ((float) answerFenzi / answerFenmu));

        }

    }

       

       

    二、练习--水仙花数

    水仙花数定义:

    1. 一定是3位数

    2. 每一位的立方,加起来恰好是这个数本身,比如153=1*1*1+5*5*5+3*3*3

    寻找所有的水仙花数

       

    要求效果:

       

    public class HelloWorld {

        public static void main(String[] args) {

            for (int i = 100; i < 1000; i++) {

                int baiwei = i / 100;

                int shiwei = i / 10 % 10;

                int gewei = i % 10;

                int cube = baiwei * baiwei * baiwei + shiwei * shiwei * shiwei + gewei * gewei * gewei;

                if (cube == i) {

                    System.out.println("找到水仙花数:" + i);

                }

            }

        }

    }

       

    三、练习--小学算术题

    题目:

    提示使用多层循环嵌套解决下图中的问题

    官方答案:

    public class HelloWorld {

        public static void main(String[] args) {

            int a = 0;

            int b = 0;

            int c = 0;

            int d = 0;

       

            for (a = -100; a <= 100; a++) {

                for (b = -100; b <= 100; b++) {

                    for (c = -100; c <= 100; c++) {

                        for (d = -100; d <= 100; d++) {

                                if(a+b==8&&c-d==6&&a+c==14&&b+d==10) {                               

                                    System.out.println("a:"+a);

                                    System.out.println("b:"+b);

                                    System.out.println("c:"+c);

                                    System.out.println("d:"+d);                                

                                }

                        }

                    }

                }

            }

        }

    }

       

  • 相关阅读:
    AcceptEx与完成端口(IOCP)结合实例
    GMap.NET实现电子围栏功能(WPF版)
    十余年软件开发经历,经验总结和程序一览(涉及Socket、WPF、vc++、CAD、图像、GIS)
    AutoCAD 凸度(bulge)的概念及使用WPF函数画图
    WinForm版图像编辑小程序(实现图像拖动、缩放、旋转、抠图)
    使用GMap.NET类库,实现地图轨迹回放。(WPF版)
    使用 GMap.NET 实现添加标注、移动标注功能。(WPF版)
    关于组织召开 “2015中国职业经理人大会”的通知
    Windows平台下使用ffmpeg和segmenter实现m3u8直播点播
    【求职必备】知名互联网公司常见面试问题和应答策略--通用篇
  • 原文地址:https://www.cnblogs.com/xlfcjx/p/10773041.html
Copyright © 2011-2022 走看看