输入格式
N
输出格式
0~N的素数
样例输入
100
样例输出
2
3
5
7
11
13
17
19
23
29
31
37
老朋友素数了属于是!
方法1:(穷举法)
通过遍历 i 的所有除数,如果除以除数后商变成了0,那么把布尔值变成假的。表示不是素数
【注】外循环一次,内循环要全部都过一遍,过完。下一次继续
如果遍历完 内循环后,布尔值isPrime仍然为真,那么就直接输出 i;
详情见代码:
//package pack3;
//筛选1~100内的素数import java.util.Scanner;public class selectPrime {public static boolean isPrime = true; //默认是素数public static void main(String[] args) {Scanner scan = new Scanner(System.in);int N = scan.nextInt();//0~N的素数for( int i=2; i<N; i++) {for(int j=2; j<=i/2; j++) {if(i % j == 0) {isPrime = false; //不是素数}}//通过除数的循环,直接输出if( isPrime == true) {System.out.println(i);}else {//重置布尔值isPrime = true;}}}
}
方法2:(欧拉数学)