NYOJ 28 大数阶乘
来源:互联网 发布:网络嗅探器 编辑:程序博客网 时间:2024/06/18 16:04
大数阶乘
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
- 输入
- 输入一个整数m(0<m<=5000)
- 输出
- 输出m的阶乘,并在输出结束之后输入一个换行符
- 样例输入
50
- 样例输出
30414093201713378043612608166064768844377641568960512000000000000
- 来源
- 经典题目
- 上传者
- 张云聪
用数组逆序保存阶乘结果,5000的阶乘在计算器上算不出来,但位数不会超过30000。两层for循环,外层是从2到m,里层进行对每个数的大数乘法运算。输出时排除前导0,逆序输出即阶乘结果。
代码:
#include<stdio.h>#include<string.h>#include<iostream>using namespace std;int a[30000];int main(){int m;scanf("%d",&m);memset(a,0,sizeof(a));a[0] = 1;for(int i = 2;i <= m;i++){int c = 0;for(int j = 0;j < 30000;j++){int s = a[j] * i + c;a[j] = s % 10;c = s / 10;}}int flag = 0;for(int j = 30000 - 1;j >= 0;j--){if(a[j] != 0)flag = 1;if(flag)printf("%d",a[j]);}printf("\n");return 0;}
0 0
- NYOJ-28:大数阶乘
- NYOJ 28 大数阶乘
- NYOJ-大数阶乘-28
- NYOJ 28-大数阶乘
- NYOJ---大数阶乘---28
- NYOJ,28,大数阶乘
- nyoj 28 大数阶乘
- nyoj-28-大数阶乘
- nyoj 28 大数阶乘
- 大数阶乘(nyoj 28)
- NYOJ 28 大数阶乘
- nyoj 28 大数阶乘
- NYOJ 28 大数阶乘
- NYOJ 28 大数阶乘
- NYoj 28 大数阶乘
- nyoj 大数阶乘 28
- NYOJ-28 大数阶乘
- NYOJ 28 大数阶乘
- HTTP 常见错误代码
- Bike Rental Demand Estimation with Microsoft R Server
- 信号与系统1:引言
- 六年的程序员奋斗之路
- setup pip, PyMySQL,Jupyter in python 3.3
- NYOJ 28 大数阶乘
- 15 个提高 Google 搜索效率的小技巧
- 实现一个简单的Javascript级联下拉菜单
- 《java入门第一季》之正则表达式常见规则
- Combination Sum II
- HorizontalScrollView嵌套在ListView,实现从右向左滑动单个删除,当滑动出来后,解决HorizontalScrollView被ListView回收+多个删除
- C++中的重载
- UDP socket也可以使用connect系统调用
- 带你重温RSAC 2016热点研讨会