HDOJ 1018 数学(N的阶乘)
来源:互联网 发布:qq偷菜软件下载 编辑:程序博客网 时间:2024/05/11 18:06
这道题看的时候最开始是想当大数处理。后来想想,太大了空间,时间都肯定要超标。所以我们转换了思路,用log10对数进行处理。log10(10)=1;log10(100)=2;log10(1000)=3;log10(10000)=4;接下来就不依次类推了。当a不为10的幂时向下取整就行了。这就可以发现a的位数=log10(a)+1;所以a!可以写成:int((double)log10(1)+(double)log10(2)+...(double)log10(a)));
#include <iostream>#include <math.h>using namespace std ;int main(){ int n; cin>>n; while(n--){ int a; cin >> a; double ans = 0; for(int i = 1 ; i <= a ; i++) ans +=log10((double)i); ans++; cout<<(int)ans<<endl; } return 0;}
阅读全文
0 0
- HDOJ 1018 数学(N的阶乘)
- HDOJ 1018 数学题(N阶乘位数)
- hdoj 1018 Big number 求n阶乘的位数
- 杭电OJ(HDOJ)1018题:求n的阶乘位数(数学公式)
- HDOJ 1042 N!(大数阶乘)
- hdoj 1018 Big Number (n!的数学公式 数学)
- HDOJ题目2554 N对数的排列问题(数学)
- 求一个数阶乘的位数&N^N的位数(数学)
- 1057 N的阶乘(大数阶乘)
- N的阶乘(大数阶乘算法)
- hdoj 1042 N! 【大数阶乘】
- HDOJ 1042 N! (大数阶乘)
- 51nod 1130 N的阶乘的长度 V2(斯特林近似) 【数学】【斯特林公式】
- [51NOD](1130)N的阶乘的长度 V2(斯特林近似) ---数学
- 51nod 1058 N的阶乘的长度 数学
- n的阶乘(1)
- n的阶乘(2)
- N的阶乘(递归)
- 图的邻接矩阵的实现
- 1034. 有理数四则运算(20) PAT乙级真题
- golang之string标准库(二)
- Fresco图片加载框架
- openCV学习之路【3】--一篇文章读懂OpenCV3
- HDOJ 1018 数学(N的阶乘)
- Ubuntu下安装并配置VS Code编译C++
- 2017秋招之面试整理(3)
- GreenDao,注解,RecyclerView,EventBus,Retrofit展示列表
- Kotlin基本数据类型
- java权限拦截器
- 进度条加载完成后跳转到扫描二维码页面
- 关于Linux下多版本的Python配置
- scanf&&cin巧妙应对字符串