求 1到100的所有素数 -- Java描述
题目:
求1到100的所有素数。
例子:
素数定义:
素数又称质数,有无限个。
素数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。
比如:2,3,5,7 等。
思路:
- 遍历从 1 到 100 之间的所有数,因为 1既不是素数也不是合数,所以我们可以直接从 2 开始遍历;
- 对于遍历的每一个数,判断是否为素数;
- 如果是素数,则输出该数,否则继续下一个。
代码:
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); //则输出素数
}
}
}
}
网友评论