作者Nozaki (NA)
看板java
标题[问题] 搜寻质数
时间Sat Jul 2 17:22:03 2011
跑出来结果不对,可以请版上高手指点一下吗?
感谢嘿!
import java.io.*;
class BooleanType{
// 一维阵列的应用:求质数
public static void main(String args[])
{
final int MAX=300;//Once it is initiated it can not be changed.
//false为质数,true为非质数
//宣告後若没有给定初值,其预设值为false
boolean prime[]=new boolean[MAX];
prime[0]=true;
prime[1]=true;//0 and 1 are not prime;
int a;
int i;
int count=0;
for(i=2;i<MAX;i++ )
{ for(a=2;a<i;a++)
{
if(i%a==0){
prime[i]=true;
}else{
prime[i]=false;
}
}
}
for(i=2;i<MAX;i++){
if(prime[i]=false)
{
count++;
System.out.println(i);
}
}
System.out.println("the number of prime is "+count);
}
}
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.160.31.118
1F:→ tkcn:为什麽不排个版呢 07/02 17:29
※ 编辑: Nozaki 来自: 1.160.31.118 (07/02 17:32)
2F:→ nameyi:else那段去掉吧 不然最後有可能会变成false 07/02 20:43
3F:→ nameyi:个人建议prime[i]=true;後面加break;跳出回圈比较省时间 07/02 20:45
4F:→ dou0228:为啥 prime = false 是质数 很不直觉 07/02 22:04
5F:→ asilzheng:第二次的for回圈里的if有误 应该是手误吧? 07/03 07:12