gpt4 book ai didi

java - 递归计算素数 10,000

转载 作者:行者123 更新时间:2023-12-02 01:55:37 25 4
gpt4 key购买 nike

我正在编写一个简单的代码来列出 1-1,000,000 之间的素数,但我使用的是 Eclipse IDE,它最多只能列出 50,000 - 任何更高的值都会终止控制台。

我编写的代码最多可运行 50,000 次,但任何更高的值都会在完成之前控制台终止。

public static void main(String[] args) {
int i = 0;
int num = 0;

String primes = "";
for(i=1;i<=50000;i++) { //this is where I limit the count
int counter = 0;

for(num=i;num>=1;num--) {
if(i%num == 0) {
counter = counter+1;
}
}
if(counter == 2) {
primes = primes + i + " ";
}
}
System.out.println(primes);

}

这段代码将列出最多 50,000 个素数,但我需要达到 100 万个。我想知道是否可以添加一个递归步骤来执行接下来的 50,000 次,依此类推,直到控制台列出 1-1,000,000 之间的所有素数。

最佳答案

我不确定 Eclipse 控制台属性,但您可以使用字符串构建器,并且仅当长度可以接受控制台时才在一行中打印数字。您可以试验该值并选择能够在控制台输出中打印的字符数。

    StringBuilder primes = new StringBuilder();

for (int i = 1; i <= 1000000; i++) { //this is where I limit the count
int counter = 0;

for (int num = i; num >= 1; num--) {
if (i % num == 0) {
counter = counter + 1;
}
}
if (counter == 2) {
primes.append(i).append(" ");

if (primes.toString().length() >= 500) {
System.out.println(primes);
primes.setLength(0);
}
}
}

System.out.println(primes);

关于java - 递归计算素数 10,000,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57399673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com