gpt4 book ai didi

java - 在java中查找上限数字10000的gcd对的有效方法

转载 作者:行者123 更新时间:2023-11-30 04:13:23 25 4
gpt4 key购买 nike

我想找到 GCD=1 到一定数量的对,比如 10000。我正在使用 2 个嵌套循环并调用具有长参数的方法。但代码运行速度非常慢,需要任何有效的方法。谢谢

class FastGCD {

public static long GCD(long a, long b) {

return (b == 0 ? a : GCD(b, a % b));
}

public static void main(String ah[]) throws Exception{

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cases = 0;

long number = 0, output = 0;
try {
cases = Integer.parseInt(br.readLine());

} catch (NumberFormatException e) {
System.exit(0);
} catch (IOException e) {
System.exit(0);
}
for (int i = 1; i <= cases; i++) {
try {
number = Long.parseLong(br.readLine());
} catch (NumberFormatException e) {
e.printStackTrace();
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
System.exit(0);
}
for (int j = 0; j < number; j++) {
for (int k = 0; k < number; k++) {

if (FastGCD.GCD(j, k) == 1)
{
//System.out.println("here"+j+","+k);
output++;
}
}
}
System.out.println(output);
}
}
}

最佳答案

其中许多问题已经得到解决。

检查维基百科或其他来源的算法。

其中之一是 the Euclidean algorithm

尽管存在更多

生成余素数(您似乎想要)

This Should help

关于java - 在java中查找上限数字10000的gcd对的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19053951/

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