当我提交到画布但在Visual Studio Code中运行正常时出现堆栈溢出错误,任何人都知道问题是什么?
这是错误:
Exception in thread "main" java.lang.StackOverflowError
at Phi.gcd(Phi.java:14
Run Code Online (Sandbox Code Playgroud)
这是作业:
Euler的totient函数,也称为φ(n),测量n的相对素数小于n的正整数的数量.如果它们的gcd是1,则两个数字是相对素数.例如:φ(9)= 6因为1,2,4,5,7和8是9的相对素数.关于欧拉函数的更多信息可以在这里找到维基页面.
Run Code Online (Sandbox Code Playgroud)n Relatively Prime ?(n) 2 1 1 3 1,2 2 4 1,3 2 5 1,2,3,4 4 6 1,5 2 7 1,2,3,4,5,6 6 8 1,3,5,7 4 9 1,2,4,5,7,8 6 10 1,3,7,9 4编写一个函数int
phi(int n),它以整数n作为输入并返回φ(n),并且main()提示用户输入整数i,调用函数φ(i),并打印结果.输入的上限为i250000.用于计算φ(n)的闭合公式是:其中p1,p2,...,pm是除数n的素数.
程序的输出应该看起来和功能类似于下面显示的示例.
Run Code Online (Sandbox Code Playgroud)Enter a positive integer n: 8 Phi(n): 4
这是我的代码:
import java.util.Scanner;
public class Phi {
static int gcd(int a, int b) …Run Code Online (Sandbox Code Playgroud)