高校展会小礼品:请大家来看一看,这几个程序那个最方便最合理

来源:百度文库 编辑:高考问答 时间:2024/05/11 04:51:40
程序要解决的问题:输出2到100的所有素数(即质数)

请各位高手看看下面4个程序那个更简便更合理。

1。public class Prime12345 {
public static void main(String[] args) {
for(int i=2;i<=100;i++)
{if(isPrime(i)==true)
System.out.println(i);
}}
private static boolean isPrime(int n)//判断n是素数的方法
{for(int i=2;i<n;i++)
{if(n%i==0)
return false;
}
return true;
}
}

2。public class Prime12345 {
public static void main(String[] args) {

int i,j,n = 100;
System.out.println("100以内的质数:");
for (i=2;i<n;i++)
{
if(i==2)
System.out.println(i);
for (j=2;j<i;j++)
{
if(i%j==0)
j=i;
else
if(j>(i/2))
{
System.out.println(i);
j=i;
}
}

}

}
}

3。public class Prime12345 {
public static void main(String[] args) {
for(int i=2;i<=100;i++)
{if(isPrime(i)==true)
System.out.println(i);
}}
private static boolean isPrime(int n)//判断n是素数的方法
{for(int i=2;i<=sqrt(n);i++)
{if(n%i==0)
return false;
}
return true;
}
}

4。public class Prime12345 {
public static void main(String[] args) {

int i,j,n = 100;
System.out.println("100以内的质数:");
for (i=2;i<n;i++)
{
if(i==2)
System.out.println(i);
for (j=2;j<i;j++)
{
if(i%j==0)
j=i;
else
if(j>(i/2))
{
System.out.println(i);
j=i;
}
}

}

}
}

第3种比较好。
循环次数最少。
和其他三个比较,条理更清晰、直接。