关于JAVA求素数

来源:互联网 发布:js 重力感应 全景 编辑:程序博客网 时间:2024/05/16 07:35

输出前500个素数 


其中
for (int i = 2; i <= Math.Sqrt(k); i++) 从2开始,1不用比较,如果还有另外一个不是他本身的数可以整除他,那他就不是素数
Math.Sqrt(k) 是原先一个人提出的算法,加大效率的。


[java] view plaincopyprint?
class A   
{   
    public static void main(String arg[])   
    {   
        int num = 0;   
        int k=2;   
        while (num < 500)   
        {   
            if (IsPrime(k))   
            {   
                System.out.print(k + " ");   
                num++;   
            }   
            k++;   
        }   
    }   
    public static boolean IsPrime(int k)   
    {   
        if (k == 2)   
        return true;   
        else if (k % 2 == 0)   
        return false;   
        else   
        {   
            for (int i = 2; i <= Math.sqrt(k); i++)   
            if (k % i == 0)   
            return false;   
            return true;   
        }   
    }   
}

0 0
原创粉丝点击