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

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

    仅做笔记,如有错误之处,望指出
  • 相关阅读:
    ajax基本使用
    ajax
    七个你无法忽视的Git使用技巧
    Git原始笔记
    php session自定义处理
    linux下用phpize给PHP动态添加扩展
    【转】做到这一点,你也可以成为优秀的程序员
    PHP扩展开发-测验成功
    PHP扩展开发--实验成功
    php类似shell脚本的用法
  • 原文地址:https://www.cnblogs.com/brokencolor/p/5774824.html
Copyright © 2011-2022 走看看