急!java递归程序(求4!+3!+2!+1!)

来源:百度知道 编辑:UC知道 时间:2024/06/18 01:58:39
用递归求4!+3!+2!+1!
我只会求其中一个,如4!=24,请问如何实现4!+3!+2!+1!
希望能有完整程序和注释!谢谢!

public class c4_14
{ static int fac(int n)
{ int fa;
if(n==0)
fa=1;
else
fa=n*fac(n-1); //递归引用自身
return fa;
}
public static void main(String[ ] args)
{ int n=4;
int f1=fac(n); //引用fac( )方法
System.out.println("4!="+f1);
}
}

//一楼的是循环,也没错,我想你要的应该是递归,如下
static int fac(int n) {
int fa;
if (n == 0)
fa = 1;
else
fa = n * fac(n - 1); // 递归引用自身
return fa;
}

public static int getSum(int n) {
int sum;
if(n==0)
sum=0;
else
sum=fac(n)+getSum(n-1);
return sum;
}

public static void main(String[] args) {

System.out.println("4!+3!+2!+1=" +getSum(4) );
}

很简单,你都会递归这一步了,算是掌握了80%的内容了。
然后呢,再来一个循环就可以了。
设置一个sum的变量,sum=0;
然后进行循环,
for(int i = 0 ; i< n ;i++) //n是你要算多少个的和,比如你这道题的4;
然后就是:
sum = sum +fac(n);
进行循环相加,明白了吗?
以你的资质,我说到这里你思考一下应该就OK了。

public class c4_14
{
static int max(int n)
{
int max=0;
for(int i=1;i<=n;i++){
max=max+fac(i);
}
return max;
}
static int fac(int n){
int fa;
if(n==0)
fa=1;
else
fa=n