题目:

输入一个数,查找从0到这个数之间的素数。

程序分析:

言简意赅的理解就是,一个只能被1和本身整除的数称之为素数。 质数==素数。

判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之则是素数。

/**
     * 寻找0-num区间的素数
     * 只能被1和本身整除的数是质数
     * @param num
     */
    public static void foundPrime(int num) {
        int count = 0;
        for (int i = 2; i < num; i++) {
            boolean isSuShu = true;
            for (int j = 2; j <= Math.sqrt(i); j++) {
                if (i % j == 0) {
                    isSuShu=false;
                    break;
                }
            }

            if (isSuShu){
                count++;
                System.out.println("质数为:"+i);
            }
        }
        System.out.println("质数一共有:"+count);
    }

附带简单说一下  java api中的 math 静态类中的几个较为常用的方法:  

  • Math.round():四舍五入 
  • Math.ceil():向上取整
  • Math.floor() :向下取整
  • Math.pow() :次方
  • Math.sqrt() :求平方根
  • Math.max() :最大值
  • Math.min() :最小值
  • Math.abs() : 绝对值
  • Math.random() : 随机数