整理笔记 1大数阶乘
2013-10-31 14:32
253 查看
大数阶乘
时间限制:3000 ms | 内存限制:65535 KB难度:3描述我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?输入输入一个整数m(0<m<=5000)
输出输出m的阶乘,并在输出结束之后输入一个换行符
样例输入
50样例输出
30414093201713378043612608166064768844377641568960512000000000000来源经典题目
上传者
张云聪这是暑假里做的题,大数类问题,但是这种大数类问题不同于一般的大数加减乘法,我理解的大数类问题,一定要把 运算 和 进位 分开来想,这是关键先贴代码:
#include <stdio.h>
02.
int
a[100000];
03.
int
main()
04.
{
05.
int
n,m,i,j;
06.
int
digit=1;
07.
int
jinwei=0;
08.
scanf
(
"%d"
,&n);
09.
a[0]=1;
10.
for
(i=2;i<=n;i++)
11.
{
12.
for
(j=1,jinwei=0;j<=digit;j++)
13.
{
14.
m=a[j-1]*i+jinwei;
15.
a[j-1]=m%10;
16.
jinwei=m/10; //运算思想
17.
}
18.
while
(jinwei)
19.
{
20.
a[++digit-1]=jinwei%10;
21.
jinwei/=10; //进位思想
22.
}
23.
}
24.
for
(i=digit-1;i>=0;i--)
25.
printf
(
"%d"
,a[i]);
26.
printf
(
"\n"
);
27.
28.
}
相关文章推荐
- Algorithm学习笔记 --- 大数阶乘算法模板
- 【学习笔记】大数阶乘
- 大数的阶乘(网上的整理)
- Deep Learning(深度学习)学习笔记整理系列之(三)
- 学习笔记问题大全【整理】2
- oracle笔记整理二[安装]
- Deep Learning(深度学习)学习笔记整理系列
- Yii 开发笔记 待整理 现在只是记录
- 大数阶乘的位数
- 形式语言与自动机_笔记整理(一)_有穷自动机与正则表达式
- Deep Learning(深度学习)学习笔记整理系列之(七)
- JAVA学习笔记整理十(网络编程)
- 《程序员面试宝典》C++部分笔记整理
- 个人笔记整理-java设计模式之单例模式
- 个人笔记整理-java设计模式之策略模式
- QML笔记整理——元素、属性和布局
- Linux操作系统下C语言编程入门学习笔记(...20090601(第一遍学完待整理)...)
- DICOM笔记整理
- sk_buff整理笔记(二、操作函数)
- HDU - 1042 - N!(大数阶乘)