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,这必须是最后的素数。谢谢任何帮助赞赏
答案 0 :(得分:1)
你应该致电
writer.close();
最后,在你的while循环之后刷新所有数据。或者,如果您仍在使用writer
,请致电writer.flush()
。