0
这是我的代码。 我知道这可能是非常复杂的愚蠢的错误,但我正在学习! 无论n是什么,它总是只输出2。在一个区间内打印质数
public static void prime(int n)
{
int i;
int b = 1;
int d;
int a =0;
for (i=1; i!=n; i++){
while (b!=i){
d = i/b;
if (d == i)
a = 1;
else
a = 2;
b++;
}
if (a==1)
System.out.println(i);
}
[**如何确定Java中的素数](http://www.mkyong.com/java/how-to-determine-a-prime-number-in-java/) – 2014-11-22 13:05:42
要通过改变最少行数来解决这个问题,我认为你可以做的就是'd = i%b',然后如果'd == 0'则设置为'a = 2'。 – irrelephant 2014-11-22 13:08:21
避免使用'!='作为数字的终止条件。这种检查很大程度上取决于您如何增加/减少变量。因此,您可以轻松地跳过那里'i == n'的情况。对于这种情况,使用'<='(或'<') and '> ='(或'>')。 – Tom 2014-11-22 13:12:16