gpt4 book ai didi

java - 欧拉递归的逻辑问题

转载 作者:行者123 更新时间:2023-12-01 17:24:28 24 4
gpt4 key购买 nike

我想要用户输入的数字n的欧拉数e,逻辑部分有问题,输入2时我似乎无法得到2.5的正确答案,而是得到2。事实上,无论输入是什么,我总是得到 2 的答案。问题出在欧拉方法中,因为阶乘打印出正确的答案。这是代码。

import java.util.*;

public class pract5ex3 {
public static int fact (int n){
if (n==0 || n==1){
return 1;
}
else {
return n*fact(n-1);
}

}
public static double constantRec(int n){
if (n == 0){

return 1;
}
else {

return 1/fact(n)+constantRec(n-1);
}
}

public static void main (String []args) {
Scanner s= new Scanner (System.in);
System.out.println("enter number");
int n =s.nextInt();

int factorial = pract5ex3.fact(n);
double euler = pract5ex3.constantRec(n);
System.out.println(factorial);
System.out.println(euler);
}

}

最佳答案

谨防Integer division .

用途:

1.0/fact(n)

获取 double 值。

关于java - 欧拉递归的逻辑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16150122/

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