java素数计算公式直到100000才显示素数,直到9973才显示素数
long i = 0;
int primeNumberCounter = 1;
long upperLimit = 100000;
PrintWriter writer = resp.getWriter();
while (++i <= upperLimit) {
long i1 = (long) Math.ceil(Math.sqrt(i));
boolean isPrimeNumber = false;
while (i1 > 1) {
if ((i != i1) && (i % i1 == 0)) {
isPrimeNumber = false;
break;
} else if (!isPrimeNumber) {
isPrimeNumber = true;
}
--i1;
}
if (isPrimeNumber) {
writer.write(String.valueOf(i));
writer.write("\n");
++primeNumberCounter;
}
}
我在谷歌应用程序引擎上部署了上述代码。我得到的是9973之前的值,而不是99991,它必须是最后一个素数。谢谢你的帮助
# 1 楼答案
你应该打电话
最后,在while循环之后刷新所有数据。或者,如果您仍在使用
writer
,请调用writer.flush()