解题思路:
注意事项:
注意输出数据的大小,有可能会超过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语言代码)浏览:834 |
C二级辅导-阶乘数列 (C语言代码)浏览:632 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:1038 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:679 |
printf基础练习2 (C语言代码)浏览:625 |
汽水瓶 (C语言代码)浏览:634 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1139 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:682 |
C语言训练-求函数值 (C语言代码)浏览:960 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:918 |