【java练习题2】--素数的判断
【程序2】 ??
题目:判断101-200之间有多少个素数,并输出所有素数。 ??
1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, ??
则表明此数不是素数,反之是素数。?
2.
public static boolean sushu(int p){
boolean flag=true;
for(int i=2;i<=Math.sqrt(p);i++){
if(p%i==0){
flag=false;
break;
}
}
return flag;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int count=0;
for(int i=101;i<=200;i++){
boolean flag=sushu(i);
if(flag){
count++;
System.out.println(i);
}
}
System.out.println("素数的个数是:"+count);
}
1 楼 mfkvfn 2012-04-25 代码写得不好。还要改进。for(int i=2;i<=Math.sqrt(p);i++)
每次循环都要计算平方根,而实际上每次得到的结果都是一样的。
应该这样
for(int i=2,sqrt=Math.sqrt(p);i<=sqrt;i++)