java吧 关注:1,298,878贴子:12,836,836
  • 1回复贴,共1

求素数的问题

只看楼主收藏回复

为什么我求素数第一个是1,例子上第一个是2?如下:
public class qiusushu {
    public static void main(String args[]){
       System.out.println("前100个素数是:");
       int n[]=new int[100];
       int p=1,cn=1;
       n[0]=2;
       System.out.print(""+p);
       for(int k=1;k<100;)
       {
           p+=2;
           int j=0;
           boolean flag=true;
           while(flag&&n[j]*n[j]<p)
           {
              if(p%n[j]==0)
                  flag=false;
              j++;
           }
           if(flag==true)
           {System.out.print(""+p);
           n[k++]=p;
           cn++;
           if(cn==10)
           {System.out.println();
           cn=0;
           }
           }
       }
      
    }
}



1楼2010-12-28 20:34回复
    int p=1,cn=1;
           n[0]=2;
           System.out.print(""+p);
    你给p赋值为1,打印输出一次p,当然是1.
    不要照着例子抄,自己代码不懂抄了也没用的,代码要自己多写,多想算法


    2楼2010-12-28 23:14
    回复