编写递归方法计算算式3^0+3^1+3^2+3^3+…+3^n 的值。
public static void main(String[] args) {
int i = Java_Amen.mi(2);
System.out.println(i);
}
static double xnum(int num) {
return Math.pow(3, num);
}
static int mi(int num) {
if (num == 0) {
return 1;
} else {
return (int) (Java_Amen.xnum(num) + Java_Amen.xnum(num - 1));
}
}
public int num(int n){
if(x == 1){
return x;
}else{
return xnum(x-1);
}
}
public int num(int n){
if(x == 1){
return x;
}else{
return x * num(x-1);
}
}
我的是对的 楼上少个东西
int num = 0;
public void num(int n){
num += 3*n;
if((n -1) <0){
syso(num);
}else{
num(n-1);
}
}
int fun(int n)
{
if (n == 0) return 1;
return pow(3, n) + fun(n-1);
}
这里我是用c语言写的,但是思想相同,pow是计算数字的n次方的,Java中应该也有相应的函数,希望能帮到你
不想直接告诉你答案,就想告诉你阶乘的来源——数学归纳法,你应该去看看怎么用数学归纳法推出阶乘。
js也同理
function pow(n,m){var temp=1;for(var i=0;i<m;i++){temp*=n;}return temp;}
function f(n,m){if(m==0){return 1;}return pow(n,m)+f(n,m-1);}
f(3,10);