杭电1042——求N!大数处理问题
来源:互联网 发布:iebook软件下载 编辑:程序博客网 时间:2024/04/28 16:25
#include<iostream>
using namespace std;
int main()
{ int n,i,j,c,t;
while(cin >> n)
{ int a[10000];//每个元素放5位的数字,也就是可以放50000位,因为10000!有35660位
a[0] = 1; //特殊的,输入0时,答案为1,
t = 0; //标记一个数字在被拆分后放在了数组的几个位置
for(i = 1; i <= n; ++i)
{ c = 0; //表示进位,如362880,大于100000了,进位为3,即c=3
for( j = 0; j <= t; ++j)
{ a[j] = a[j]*i + c;//对于答案小于100000来说,这个循环就这一句起作用,其余的都没用,因为这是数字还没有拆分
c = a[j] / 100000;//if > 100000了时
a[j] %= 100000; }
if(c!=0) // 如果有进位
{ t++; a[t] = c; } }
//输出 cout << a[t]; for( i = t-1; i >= 0; --i) printf("%05d",a[i]); cout << endl; }
return 0;}
- 杭电1042——求N!大数处理问题
- 杭电—1042 大数阶乘 N!
- 杭电ACM—— 1042 N!大数阶乘
- 杭电ACM 1042 大数阶乘 N!
- 杭电 1042 N! 大数相乘
- 杭电HDU 1042大数阶乘N!
- 求 n! (大数问题)----------HDOJ1042
- 杭电1042—— N!(大数乘法的应用!)
- 杭电OJ 1042 N!(大数阶乘模板)
- 杭电ACM OJ 1042 N! java大数乘法BigInteger
- 大数问题:求N的阶乘
- 大数问题:求n的阶乘
- 杭电 Problem 1024 N! 【大数相乘】
- 杭电1002 大数问题
- 杭电acm 大数问题
- 杭电1212题 大数求余
- HDU 1042求N! (大数)
- HDU 1042 求N! ---大数乘法
- Java学习:构造函数特点
- 学习C语言- 第一步关键字特点方法(1)
- android 实时更新与通知 (android poll)
- SSIS-文本文件增加标题行
- WIN7 以管理员身份运行
- 杭电1042——求N!大数处理问题
- C语言学习之符号篇
- android自定义组件之TopMenu
- 类的构造函数调用其他构造函数
- s3c6410的RTC在linux中的驱动(3)
- 简单的文件读写函数举例
- android项目的出现小红叉,如何重构
- flex中使用Flex来实现html的iframe功能
- 最大公约数