📄 prime_while.java
字号:
public class Prime_while
{
public static void main(String args[])
{
final int MAX=100;
System.out.println("All primes in 2~"+MAX+" are: ");
System.out.print("\t2"); //最小素数是2
int n=1; //n表示已知素数个数
int k=3; //从最小奇数3开始测试
do //测试k是否为素数
{
int j=(int)Math.sqrt(k); //Math.sqrt(k)返回k的平方根值
if (j%2==0)
j--; //获得测试范围内的最大奇数
boolean yes=true; //假设k是素数
while (j>2 && yes) //用奇数j测试k
if (k%j==0)
yes=false; //则k不是素数,退出循环
else
j-=2;
if (yes) //k是素数,输出
{
System.out.print("\t"+k);
n++;
if (n%10==0) //每行显示10个数
System.out.println();
}
k+=2; //测试下一个奇数是否是素数,所有偶数不需测试
} while(k<=MAX);
System.out.println("\nn="+n);
}
}
/*
程序运行结果如下:
All primes in 2~100 are:
2 3 5 7 11 13 17 19 23 29
31 37 41 43 47 53 59 61 67 71
73 79 83 89 97
n=25
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -