问题:
Description
求1!+2!+3!+4!+...+n!的结果。
Input
输入数据含有不多于50个的正整数n(1≤n≤12)。
Output
对于每个n,输出计算结果。每个计算结果应占独立一行。
Sample Input
3 6
Sample Output
9
873
HINT
Source
代码:#include <stdio.h>
#include <stdlib.h>
int f(int n)
{
if(n==1)
return 1;
else if(n==2)
return 2;
else
return n*f(n-1);
}
int sum_f(int n)
{
if(n==1)
return 1;
else if(n==2)
return 3;
else
return f(n)+sum_f(n-1);
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",sum_f(n));
}
return 0;
}
小结:原来用过非递归的方法,今天看到这个题,直接把思路引到递归上去了......但我没想到用了两个递归,这两个递归的方法是参考csdn上的大神...