解题思路:
注意事项:
注意输出数据的大小,有可能会超过int 的限制
参考代码:
#include <stdio.h>
//using namespace std;
//#define LINT64 (long)
long proc(int a);
long Process(int a);
int main()
{
int a;
long b;
scanf("%d",&a);
b = Process(a);
printf("%lld\n",b);
return 1;
}
long Process(int a)
{
int i;
long sum = 0;
if((a<0) || (a>20))
{
return 0;
}
if(a==1)
{
return 1;
}
for(i=1; i<=a;i++)
{
sum += proc(i);
}
return sum;
}
long proc(int a)
{
if(a==1)
{
return 1;
}
else
{
return a*(proc(a-1));
}
}
0.0分
1 人评分
C二级辅导-计负均正 (C语言代码)浏览:647 |
C语言程序设计教程(第三版)课后习题10.5 (C语言代码)浏览:1432 |
ASCII帮了大忙浏览:748 |
本人酷爱递归实现很多问题,这里也是浏览:549 |
剪刀石头布 (C语言代码)浏览:1747 |
【绝对值排序】 (C语言代码)浏览:820 |
【计算直线的交点数】 (C语言代码)浏览:1442 |
求圆的面积 (C语言代码)浏览:1666 |
sizeof的大作用 (C语言代码)浏览:1024 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:672 |