我把问题PO在BBS上,
有人给我以下建议:
搜寻 2~100 的质数 {
变数:目前想要检查的数字 ;
变数:目前想要检查的数字是或不是质数;
检查是否可以被 2~(目前想要检查的数字-1)整除 {
如果可以被某一个整除. 那设定 变数:目前想要检查的数字是或不是质数 为 不是(false).
}
如果在上一个检查回圈已经知道不是质数了. 那就不要列印出来.
否则就列印出来.
}
希望这样说明, 提问者可以理解程式应该有的逻辑.
我依照他的指点写了以下程式:
复制程式
class Prime
{
public static void main(String[] args)
{
for (int i=1; i<=100; i++)
{
for (int j=2; j<=(i-1); j++)
{
if (i % j == 0)
{
break;
}
else
{
System.out.println(i);
}
}
}
}
}
但会出现以下问题:
印出来的结果,少了2这个质数,并且多了9和99这两个不是质数的数字,
而且印出的质数会有很多个,例如5会印出三个,7会印出五个,11会印出八个,
要如何让质数只能印出一个呢?