http://www.csdn.net/expert/topic/92/92514.shtm

解决方案 »

  1.   

    一个用筛法求质数的程序
    n是范围,中间计算了筛选时间import java.util.*;
    public class sieve 
    {
    public static final boolean PRINT =true;

    public static void main(String[] s)
    {
    int n = 1000;
    long start = System.currentTimeMillis();
    BitSet b = new BitSet(n);
    int count = 0;
    int i;
    for (i = 2;i<=n;i++)
      b.set(i);
    i = 2;
    while (i*i<=n)
    {
    if (b.get(i))
    {
    if (PRINT) System.out.print(i+" ");
    count++;
    int k = 2*i;
    while(k <= n)
    {
    b.clear(k);
    k += i;
    }
    }
    i++;
    }
    while (i <= n)
    {
    if(b.get(i))
    {
    if(PRINT) System.out.print(i+" ");
    count++;
    }
    i++;
    }
    long end = System.currentTimeMillis();
    System.out.println(count + " primes");
    System.out.println((end - start)+" milliseconds");
    }
    }
      

  2.   

    to dynku(随风来去) :
     你的PROG太烦!这种小东东不用太求什么算法!
     简单易懂最好!
    ////////////////////////////////////////////////////////class exp1
    {
      
    public static void main(String args[])
    {
    int n=1000,k=1;
    System.out.println("MY program:");
    for(int i=2;i<=n;i++)
     {
    boolean isPrimeNumber=true;
    for(int j=2;j<=i-1;j++)
     if(i%j==0){isPrimeNumber=false;break;}
    if(isPrimeNumber){System.out.print(i+",");k++;}
                               if(k%10==0){System.out.println("");k=1;}
        }
    System.out.println("");

    }
    }
     
      

  3.   

    我采用C语言里的方法。
    1),先除去偶数。
    2),凡不是质数,它可以被 2-->它的开方数 整除。class GetQuery
    {
    public static void main(String[] args) 
    {

    int m_quart,j;
    for(int m=3;m<1000;m += 2)
      {
         
     m_quart = (int)(Math.sqrt((double)m));
       
     for(j=3;j < m_quart;j += 2)
     {

    if((m%j)==0) break;
    } if(j > m_quart) System.out.print("\tquery = " + m);   }
    }
    }我的上述方法可能太费时,请高手们指点。
      

  4.   

    to fender1972() :
      我不是高手!但我想说一下!
      其实你有机会看看印度人写的CODE!
      人家的代码虽然没有上二楼那样复杂的算法!
      但人家的代码我们一看易能懂!
      你说你喜欢哪种!
      其实现在硬件的更新速度这么快!
      在大多数时候根本不用太担心效率的问题!
    关键在于你的代码的稳定性|!