案例介绍:
编写一个找素数的程序:找出100以内的所有素数,并输出素数的个数。
运行结果:
完整代码:
import static java.lang.Math.sqrt;
public class Prime {
public static void main(String[] args)
{ //素数:除了1和它的本身外,不再有其他因数的自然数
int num,dividend;
int count = 1; //素数的个数
System.out.println("100以内的素数有:");
System.out.print("2 ");//2是第一个素数
for(num=3;num<=100;num++) //从3开始,找出100以内的所有素数
{
if(num%2==0) continue; //若num是偶数,结束本轮循环
int sqrtNum = (int)sqrt(num); //定义num的平方根
for(dividend=3;dividend<=sqrtNum;dividend+=2)//从3开始的奇数遍历到num的平方根,判断num是否有其它因数
{
if(num%dividend==0) break; //找到其它因数,中断循环
}
if(dividend>=sqrtNum+1) //若dividend>=num的平方根,说明该num是素数
{
System.out.print(num+" ");
if(++count%5==0) System.out.println(); //每输出五个素数就另换一行
}
}
System.out.println("\n共有 "+count+" 个");
}
}