booelan check(int n)
{
   if(n < 2)
      return false;
   if(n==2 || n == 3)
      return true;
    int mid = (int) java.lang.floor(java.lang.Math.sqrt(n));
    for(int i=mid;i<n;i++)
    {
(int n % i == 0)
    }
}

解决方案 »

  1.   

    这个好象可找自然对数帮助,快多了,可惜俺不是搞算法的料。booelan check(int n)
    {if(n < 2)
    return false;
    if(n==2 || n == 3)
    return true;
    int mid = (int) java.lang.floor(java.lang.Math.sqrt(n));for(int i=mid;i<n;i++)
    {
       if(int n % i == 0) return true;
    }
    return false;}
      

  2.   

    for错了,应这个for(int i=0;i<mid;i++)
    {
    if(int n % i == 0) return true;
    }
    return false;
      

  3.   

    看看,只用了一个for
    import java.io.*;
    public class Demo
    {
    int num;
    int j=2;
    String s;
    BufferedReader br;
    boolean flag=false;
    public Demo(){
    System.out.println("请输入一个整数:");
    br=new BufferedReader(new InputStreamReader(System.in));
    try
    {
    s=br.readLine();
    num=Integer.parseInt(s);
    br.close();
    for (int i=2;i<num ;i++ )
    {
    if (num%i==0)
    {
    flag=true;
    break;
    }
    }
    if (flag==false)
    {
    //System.out.println(flag);
    System.out.println(num+"是质数!");
    }
    else{
    //System.out.println(num+"不是质数");
    System.out.println(flag);
    }
    }
    catch (Exception e)
    {
    System.out.println("输入数字有误或IO异常");
    }

    }
    public static void main(String arge[]){
    Demo d=new Demo();
    }
    }
    要是满意就多给点的分啊!!
      

  4.   

    不对,应这个for(int i=2;i<=mid;i++)
    {
    if(int n % i == 0) return true;
    }
    return false;
      

  5.   

    //虽然也是两个for但比一个for快多了!
    import java.io.*;
    public class test{
    public static void main(String agrs[]){
            int numbers[]=new int[99];
            int compared=0;
            for(int i=0;i<99;i++)
             {
              numbers[i]=i+2;
             }
             
             for(int i=0;i<14;i++)
             {
                if (numbers[i]!=0)
                 {
                  compared=numbers[i];                
                  for(int j=compared;j<99;j++)
                  {
                      if(numbers[j]%compared==0)
                       {
                          numbers[j]=0;
                       }
                           
                  }
                 }
               }
              for(int i=0;i<99;i++)
               {
                 if(numbers[i]!=0)
                  {
                   System.out.println(numbers[i]);
                  }
                    
               }   }
    }
      

  6.   

    我自己也一个:求100以内。
    public class Priem
    {
       public static void main(String[] args)
       {
           boolen flag = true;
           for (int i = 2;i < 100; i++)
           {
              flag = true;
              for (int j = 2; j <= (int)Math.sqrt(i); j++)
              {
                  if (i % j == 0)
                  {
                      flag = false;
                      break;
                  }
              }
              if (flag)
              {
                    System.out.println("priem = " + i);
              }
           }
       }
    }
      

  7.   

    //谁说算不到一千个????????
    import java.io.*;
    public class test{
    public static void main(String agrs[]){
            int numbers[]=new int[9999];
            int compared=0;
            for(int i=0;i<9999;i++)
             {
              numbers[i]=i+2;
             }
             
             for(int i=0;i<14;i++)
             {
                if (numbers[i]!=0)
                 {
                  compared=numbers[i];                
                  for(int j=compared;j<9999;j++)
                  {
                      if(numbers[j]%compared==0)
                       {
                          numbers[j]=0;
                       }
                           
                  }
                 }
               }
              for(int i=0;i<9999;i++)
               {
                 if(numbers[i]!=0)
                  {
                     System.out.println(numbers[i]);     
                  }
                    
               }   }
    }
      

  8.   

    //谁说算不到一千个????????
    import java.io.*;
    public class test{
    public static void main(String agrs[]){
            int numbers[]=new int[9999];
            int compared=0;
            int howmany=0;
            String result="";
            for(int i=0;i<9999;i++)
             {
              numbers[i]=i+2;
             }
             
             for(int i=0;i<14;i++)
             {
                if (numbers[i]!=0)
                 {
                  compared=numbers[i];                
                  for(int j=compared;j<9999;j++)
                  {
                      if(numbers[j]%compared==0)
                       {
                          numbers[j]=0;
                       }
                           
                  }
                 }
               }
              for(int i=0;i<9999;i++)
               {
                 if(numbers[i]!=0)
                  {
                   howmany++;
                   result=result+" "+String.valueOf(howmany)+"."+String.valueOf(numbers[i]);  
                  }
                    
               }
       System.out.println(result);        }
    }
      

  9.   

    是啊,上面的我搞错了,
    for(int i=0;i<14;i++)
    改成这个
    for(int i=0;i<40;i++)
    就可了
      

  10.   

    littlecpu(嘿,哥们,你欠我分,快给咯)的程序怎么改了几次都还是错的?该先自己编译运行试验下再回,我参照他的程序改写如下:boolean heck(int n)
    {
     if(n < 2) 
       return false;
     else if(n==2 || n == 3)
       return true;
     else if(n%2==0)  //对于偶数首先排除
       return false;
     else
      {
       int mid = (int)Math.sqrt(n);
       for(int i=3;i<=mid;i++)
        {
         if(n % i == 0) return false;
        }
       return true;
      }
    }
      

  11.   

    for(n=100;n<=200;n++){
        for(i=2;n%i!=0;i++){
           ;   //空语句
        }
    if(n==i)  
        输出; //所得的n为质数
    }  
    这个是求100--200间质数的核心,其他的自己加好了