zoukankan      html  css  js  c++  java
  • 为什么要用Math.sqrt(i)方法

    java 练习题

    判断 101-200 之间有多少个素数,并输出所有素数

    public class Prime {

        public static int count = 0;

        public static void main(String[] args) {

            for (int i = 101; i < 200; i++) {
                boolean b = true;
                for (int j = 2; j <=  Math.sqrt(i); j++) {//---------------

                    if (i % j == 0) {
                        b = false;
                        break;
                    }
                }
                if (b) {
                    System.out.print(i+" ");
                    count++;
                }
            }
            System.out.println(" 素数的个数:" + count);
        }
    }

    发现 第二for循环不用 Math.sqrt(i) 总是有问题

    然后,发现了这个问题:为什么要用Math.sqrt(i)方法(返回正确舍入的 double 值的正平方根)?

     因为,只需要判断到这个值,
     例如:判断100,只需要判断到10就可以了,10*10
     100=n1*n2,那么n1或者n2一定有个<=10,所以只需要判断的10
    提高效率

    注:个人观点,如有错误,还望指出

    仅做笔记,如有错误之处,望指出
  • 相关阅读:
    JAVA抽象方法,接口
    JAVA基础,字符串
    JAVA运算符
    JAVA数组
    团队任务1:第一次团队会议
    课后作业二:个人项目
    自我介绍
    python3加密 解密 签名 验签
    python3读取xml字符串
    SETX命令设置环境变量
  • 原文地址:https://www.cnblogs.com/brokencolor/p/5774824.html
Copyright © 2011-2022 走看看