给出exR1(6)的返回值。
public static String exR1(int n){
if(n <=0){
return "";
}
return exR1(n-3)+n+exR1(n-2)+n;
}
手动敲代码如下:(递归逻辑还需自己理清楚)
public class exercise {
public static void main(String[] args) {
System.out.print("输出结果:"+exR1(6));
}
public static String exR1(int n){
if(n <=0){
return "";
}
return exR1(n-3)+n+exR1(n-2)+n;
}
}
输出结果:311361142246;
编写一个递归的静态方法计算log(N!)的值:
public class logN {
public static void main(String[] args) {
Scanner input =new Scanner(System.in);
System.out.print("请输入N:");
int a=input.nextInt();
System.out.print("log("+a+"!)结果为:"+logN(a));
}
public static double logN(int n){
if(n==0 ||n==1){
return 0; //0的阶乘和1的阶乘都为1
}
return Math.log(n)+logN(n-1);
}
}
请输入N:5
log(5!)结果为:4.787491742782046