28-大数阶乘

内存限制:64MB
时间限制:3000ms
Special Judge: No

accepted:19
submit:39

题目描述:

我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?

输入描述:

输入一个整数m(0<m<=5000)

输出描述:

输出m的阶乘,并在输出结束之后输入一个换行符

样例输入:

复制

50

样例输出:

30414093201713378043612608166064768844377641568960512000000000000

提示:

没有提示哦
 
分析:
  大数相乘模板如下:
  

 for(int i = ; i <= m; ++ i) // 其中数组A存的即为大数相乘的结果
{
int b = ; // 处理余数问题
for(int j = ; j <= len; ++ j)
{
int t = b + i*A[j];
A[j] = t % ;
b = t / ;
if(b > && j == len) len ++;
}
}

C/C++代码实现(AC):

 #include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <stack>
#include <map>
#include <queue> using namespace std;
const int MAXN = ; int main()
{
int m, A[MAXN] = {, }, len = ;
scanf("%d", &m); for(int i = ; i <= m; ++ i)
{
int b = ;
for(int j = ; j <= len; ++ j)
{
int t = i * A[j] + b;
A[j] = t % ;
b = t / ;
if (j == len && b > ) ++len;
}
} for(int i = len; i >= ; -- i)
printf("%d", A[i]);
printf("\n");
return ;
}

最新文章

  1. Mysql Master-slave 主从配置
  2. C# 之泛型详解
  3. windows内核需要注意的
  4. Mock方法介绍
  5. python中的模块
  6. selenium验证码处理
  7. 利用 Heritrix 构建特定站点爬虫
  8. HttpClient(4.3.5) - HTTP Execution Context
  9. Json 工具介绍 fastjson gson jackson
  10. Linux 命令详解(三)./configure、make、make install 命令
  11. MSSQL优化之————探索MSSQL执行计划
  12. DP 要求将承载量花光的01背包问题
  13. destoon 添加一个新的模块
  14. WFA 认证 启动 sigma_dut方法
  15. python-GUI,生成ssn
  16. qt Cannot connect creator comm socket /tmp/qt_temp.S26613/stub-socket: No such
  17. Android 6.0动态权限申请教程
  18. markdown中设置、调整图片尺寸
  19. Rails 枚举
  20. hiho一下第107周《Give My Text Back》

热门文章

  1. webpack——简单入门
  2. QuartzCode快速开发动画代码工具
  3. C语言文件输入/输出 ACM改进版(用freopen函数方便检验)
  4. Shell进阶精品课程
  5. OptimalSolution(2)--二叉树问题(3)Path路径问题
  6. Java基础(二十二)集合(4)Set集合
  7. Java基础(八)对象包装器与自动装箱
  8. SQlite 日期时间总结
  9. 【Redis深度历险】那些年Redis的数据结构
  10. 大觅网05Day