解题思路:
注意事项:
注意输出数据的大小,有可能会超过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语言程序设计教程(第三版)课后习题8.4 (Java代码)浏览:788 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:1071 |
C语言考试练习题_排列 (C语言代码)浏览:767 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:591 |
C二级辅导-阶乘数列 (C语言代码)浏览:736 |
完数 (C语言代码)浏览:757 |
1009题解浏览:802 |
矩形面积交 (C++代码)浏览:1204 |
C二级辅导-进制转换 (C语言代码)浏览:750 |
【计算直线的交点数】 (C语言代码)浏览:984 |