求 1到100的所有素数 -- Java描述

2019-03-11  本文已影响0人  希希里之海

求 1到100的所有素数 -- Java描述

题目:

求1到100的所有素数。

例子:

素数定义:

素数又称质数,有无限个。

素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

比如:2,3,5,7 等。


思路:

  1. 遍历从 1 到 100 之间的所有数,因为 1既不是素数也不是合数,所以我们可以直接从 2 开始遍历;
  2. 对于遍历的每一个数,判断是否为素数;
  3. 如果是素数,则输出该数,否则继续下一个。

代码:

import java.lang.Math;

public class Test {
    public boolean isPrime(int n) {                 //判断是否为素数函数
        for(int i = 2; i <= Math.sqrt(n); i++) {    //从 2 到 n 的算数平方根遍历
            if(n % i == 0) {
                return false;                       //存在约数,非素数,返回 false
            }
        }
        return true;                                //是素数,返回 true
    }

    public static void main(String[] args) {
        Test test = new Test();
        for(int n = 2; n <= 100; n++) {             //遍历 1 到 100 之间的数
            if(test.isPrime(n)) {                   //如果是素数
                System.out.print(" " + n);              //则输出素数
            }
        }
    }
}

运行截图:

image.png
上一篇下一篇

猜你喜欢

热点阅读