方法有很多,这里写两种比较优化的两种
public class Test
{
public static void main(String[] args)
{
// 求1000以内的质数
for (int i = 2; i <= 1000; i++)
{ // 被除数
for (int k = 2; k <= i; k++)
{ // 除数
// 排除所有在 i=k 之前 能被k整除(余数为0)的数
if (i % k == 0 && i != k)
{
break;
}
// 输出所有在 i=k 且 i%k=0的数
if (i % k == 0 && i == k)
{
System.out.println(i);
}
}
}
}
public class Test
{
public static void main(String[] args)
{
int i, m;
outer:
for (m = 1; m <= 1000; m++)
{
if (m == 2)
{
continue;
}
for (i = 2; i < m; i++)
{
if (m % i == 0)
{
continue outer;
}
}
System.out.println(m);
}
}