1 #include <stdio.h>
2
3 //递归求解 n!
4 /*int recursion_n(int n)
5 {
6 if(n==1)
7 return 1;
8
9 else
10 return n*recursion_n(n-1);
11 }
12
13 //累加 n! + (n-1)! + ……+2!+1!
14 int recusion_add(int m)
15 {
16 if(m==1)
17 {
18 return 1;
19 }
20
21 else
22 return recursion_n(m)+recusion_add(m-1);
23 }*/
24
25 int main(void)
26 {
27 int recursion_num;
28 //经典100例很经典。
29 int i=1,s=0,j=1;
30
31 printf("please input the recursion num:");
32 scanf("%d",&recursion_num);
33
34 for(i=1;i<=recursion_num;i++)
35 {
36 j*=i;
37 s+=j;
38 }
39 printf("the result is:%d\n",s);
40
41 //我写的的下面的算法中,重复计算了很多次。
42 //printf("result is :%d\n",recusion_add(recursion_num));
43
44 return 0;
45 }
我的的代码运行结果:
经典100例运行结果: