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
    提高效率

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

    仅做笔记,如有错误之处,望指出
  • 相关阅读:
    jenkins
    k8s 驱逐限制
    jenkins+k8s 实现持续集成
    镜像更新备份
    【工具分享】2020年4月 phpstorm2020.1 for mac
    【排坑】mac安装homebrew会遇到的各种问题解决方案
    记一次C盘扩容
    2018夏季工作台之再设计
    left join后面加上where条件浅析
    编程随想篇(2018夏)
  • 原文地址:https://www.cnblogs.com/brokencolor/p/5774824.html
Copyright © 2011-2022 走看看