关于JAVA求素数

来源:百度知道 编辑:UC知道 时间:2024/05/07 11:30:09
最好简单点的 能简单看懂
用上while 和if else

输出前500个素数
其中
for (int i = 2; i <= Math.Sqrt(k); i++) 从2开始,1不用比较,如果还有另外一个不是他本身的数可以整除他,那他就不是素数
Math.Sqrt(k) 是原先一个人提出的算法,加大效率的,你可以测试看看
已经按照你的要求用到了while和if else

下面的朋友···别人说要用什么写就用什么写···有时候按要求去就好了

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;
}
}
}

public class Test1 {
public void g() {
for (int i=101;i<=200;i+=2) {
boolean k=true;
for (int n=3;n<i;n++) {
if (i%n==0) {