nyoj___大数阶乘
2024-08-26 08:42:49
http://acm.nyist.net/JudgeOnline/problem.php?pid=28
大数阶乘
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
- 我们都知道如何计算一个数的阶乘,可是,如果这个数很大呢,我们该如何去计算它并输出它?
- 输入
- 输入一个整数m(0<m<=5000)
- 输出
- 输出m的阶乘,并在输出结束之后输入一个换行符
- 样例输入
-
50
- 样例输出
-
30414093201713378043612608166064768844377641568960512000000000000
- 程序代码:
#include<stdio.h>
#include<math.h>
int main(){
int n;
while(scanf("%d",&n)!=EOF){
long a[];
int i,j,l,c,m=,w;
a[]=;
for(i=;i<=n;i++){
c=;
for(j=;j<=m;j++){
a[j]=a[j]*i+c;
c=a[j]/;
a[j]=a[j]%;
}
if(c>) {m++;a[m]=c;}
} w=m*+log10(a[m])+;
printf("%ld",a[m]);
for(i=m-;i>=;i--) printf("%4.4ld",a[i]);
printf("\n");
}
return ;
}
大数阶乘位数的计算方法是(int)log10(x)+
这个是计算x的位数的
log10(n!)=log10()+log10()+log10()+...+log10(n)
最新文章
- adb命令大全「含shell和wait-for-devices等」
- Pycharm中的实用功能(网上看到的,感觉还不错)
- Django web 开发指南 no such table:
- 学习笔记之AJAX无刷新分页
- net core VS goang web
- DAX/PowerBI系列 - 参数表(Parameter Table)
- Codeforces Round #424 (Div. 2, rated, based on VK Cup Finals)
- 工厂方法模式(Method Factory),理解多态应用的好例子.
- springBoot之配置文件的读取以及过滤器和拦截器的使用
- Cmake出现CMake Error: Could not find CMAKE_ROOT !!!
- 02_ if_else if 练习
- python第六章:三大利器(装饰器,迭代器,生成器)--小白博客
- [CB转帖]台湾晶圆厂产能居全球第一 大陆排名第五但增长最多
- C#语言
- ES查询之刨根问底
- UOJ#419. 【集训队作业2018】圆形(格林公式)
- 小议 开源中国 I LOVE YOU js代码
- Linux上挂载NTFS分区
- Setting a maximum attachment size
- shell - 常识
热门文章
- 一键安装本地yum仓库脚本
- 【剑指Offer】33、丑数
- EasyUI 解决Js动态加载页面样式不显示问题
- TeX中的引号(Tex Quotes, UVa 272)
- [CodeForces]1042D
- android 手机网络接入点名称及WAP、NET模式的区别
- 2018ICPC南京
- Maven错误:[ERROR] No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK?的解决方法
- 谈论java中怎样处理高并发的问题
- 记忆化搜索 hdu 1331