南邮 OJ 1590 阶乘
来源:互联网 发布:王者荣耀嬴政模型优化 编辑:程序博客网 时间:2024/06/08 07:18
阶乘
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 1634 测试通过 : 201
总提交 : 1634 测试通过 : 201
比赛描述
阶乘(factorial)是基斯顿.卡曼于1808年发明的运算符号,是指指从1乘以2乘以3乘以4一直乘到所要求的数。例如,所要求的数是4,则阶乘式是1×2×3×4,得到的积是24,24就是4的阶乘。 例如所要求的数是6,则阶乘式是1×2×3×……×6,得到的积是720,720就是6的阶乘。例如所要求的数是n,则阶乘式是1×2×3×……×n,设得到的积是x,x就是n的阶乘。
在表达阶乘时,就使用“!”来表示。如h阶乘,就表示为h!
以下列出1至5的阶乘:
1!=1,
2!=2,
3!=6,
4!=24,
5!=120
另外,数学家定义,0!=1,所以0!=1!
通常我们所说的阶乘是定义在自然数范围里的,小数没有阶乘,像0.5!,0.65!,0.777!都是错误的。
现给定正整数n,请你编程求n!。
输入
单组样例,输入一个正整数n,0≤n≤5000。
输出
输出n的阶乘n!。
样例输入
4
样例输出
24
题目来源
NUPT
#include<stdio.h>int a[50000];int main(){int n,i,j,maxIndex,carry;a[0] = 1;maxIndex = 0;scanf("%d",&n);for(i=2; i<=n; i++){carry = 0;for(j=0; j<=maxIndex; j++){a[j] *= i;a[j] += carry;carry = a[j]/10;a[j] %= 10;}while(carry){a[j] = carry%10;carry /= 10;j++;}j--;if(j>maxIndex){maxIndex = j;}}for(i=maxIndex;i>=0;i--){putchar(a[i]+'0');}putchar('\n');}
0 0
- 南邮 OJ 1590 阶乘
- 南邮 OJ 1093 阶乘之和
- 南邮 OJ 1170 C阶乘问题
- UVa OJ 623 阶乘
- OJ之阶乘之和
- 南阳OJ 阶乘因式分解
- 阶乘之和||南阳OJ
- 九度oj-1179-阶乘
- OJ 41之阶乘和
- zzuli OJ 1048: 阶乘表
- 南阳OJ 28:大数阶乘
- 南阳oj 28 大数阶乘
- 刷清橙OJ--A1089.阶乘计算
- 【九度OJ】1179:阶乘
- OJ上关于阶乘位数的公式
- 九度OJ 题目1179:阶乘
- 九度OJ 1067 n的阶乘
- 九度OJ 题目1179:阶乘
- 1093:最大子序列
- android开发中注意的安全问题
- hdu 5352 MZL's City 2015多校联合训练赛#5 费用流
- 排序算法
- error while loading shared libraries: xxx.so.x" 错误的原因和解决办法
- 南邮 OJ 1590 阶乘
- linux上svn服务器及客户端的安装配置
- 国内CVPR和图像处理领域的公司和研究机构
- C++11 标准新特性: 右值引用与转移语义
- android 通知栏如何更新图片、按钮
- json传值乱码
- 构造函数和复制控制成员
- hdu3829 Cat VS Dog(二分最大独立集)
- 论数学中的无穷