回 帖 发 新 帖 刷新版面

主题:求素数问题

求1~100内的素数,不知道下面的程序哪儿出问题了,请大家看看



public class zhishu {

 public static void main(String args[])
  {
    int i,j;
    
      for(i=4;i<100;i++)
    
        for(j=2;j<i/2;j++)
          
              if(i%j==0)
              {
                  break;
              }
          else    
             
      System.out.println(i+"is zhishu");
  }
}

回复列表 (共6个回复)

沙发

class Demo
{
    public static void main(String[]args)
    {    
        for(int i=1;i<101;i++)
        {
            if(i==1)
                continue;
                
            int j=2;
            for(j=2;j<i;j++)
            {
                if(i%j==0)
                {
                    break;
                }
            }
            if(j==i) 
            {
                System.out.print(i+"\t");
            }
        }
        System.out.println();
    }
}

板凳

public class Demo {

 public static void main(String args[])
  {
      int i,j;
    
      for(i=1;i<=100;i++)
    
      {  
          for(j=2;j<=i;j++)
          
              if(i%j==0)
              {
                  break;
              }
          if(i==j)
             
        System.out.print(i+" ");
   }
  }
}

3 楼

求1~100内的素数,不知道下面的程序哪儿出问题了,请大家看看



public class zhishu {

 public static void main(String args[])
  {
    int i,j;
    
      for(i=4;i<100;i++)

      {
       int h=0;
        for(j=2;j<i/2;j++)
        {    
              if(i%j==0)
              {
                  h=1;
                  break;
              }
        }
         if(h==1)
         {
             System.out.println(i+"is zhishu");
         }       
      }

按照你的题目改的
虽说你的题目现在肯定已经搞定了
但我还是写出来了,呵呵
就是不知道你能不能看得到哦

4 楼

素数是那些只能被1及其本身整除的数,只要判断2到其本身/2之间数都不是它的除数即可。楼主在素数的判断上有误,应该是
      if(i%j==0)
              {
               System.out.println(i+"is zhishu");
           break;
              }
其余的都是素数

5 楼

谢谢各位的解答!

6 楼


public class 求素数 {
    public static void main(String args[]){
        for (int i  = 3 ; i <= 100 ; ++ i ){
            int xx = 0 ; 
            for(int j = 2 ; j <= i - 1  ; ++j){
                if(i % j == 0)
                    {xx = 0 ;
                    break;}
                else
                    xx = 1 ;
            }
            
            if ( xx == 1){
            System.out.println(i + "  ");
            }
        }
    }
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册