0
我想爲用戶輸入的數字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);
}
}