【HDU】 1018 Big Number
来源:互联网 发布:数据标注是什么 编辑:程序博客网 时间:2024/06/04 19:53
大意就是求 :
log10(n!) = log10(1 * 2 * 3 * .......*n) = log10(1) + log10(2) + ........+log10(n);
打表的话会MLE,直接递推就行了,后台数据不会很刁钻。
#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int maxn = 10000000;//double dp[maxn + 1];//void List(){// dp[1] = log10(1.0);// for(int i = 2; i < maxn; i++)// dp[i] = dp[i - 1] + log10(1.0 * i);// return;//}int main(){ int T; //List(); scanf("%d",&T); while(T--){ int n; scanf("%d",&n); double ret = 0; for(int i = 1; i <= n; i++) ret += log10(1.0 * i); printf("%.f\n",ceil(ret)); } return 0;}
还有一种方法,就是斯特林公式
也就是log10(n!) = log(n!) / log(10) = ( n*log(n) - n + 0.5*log(2*π*n))/log(n);
直接公式就出来了,更快捷。
这里就不多说了。
0 0
- hdu 1018 Big Number
- HDU 1018 Big Number
- HDU 1018 - Big Number
- hdu 1018 Big Number
- hdu 1018 Big Number
- HDU 1018 Big Number
- HDU 1018 Big Number
- HDU 1018 Big Number
- hdu 1018 Big Number
- hdu 1018 Big Number
- HDU 1018 Big Number
- hdu 1018 - Big Number
- HDU 1018 Big Number
- HDU 1018 Big Number
- HDU 1018 Big Number
- hdu 1018 Big Number
- hdu - 1018 - Big Number
- HDU 1018 Big Number
- Count and Say LeetCode:Mysolution
- [Leetcode] Add Binary
- 【Linux】【CGI】【FAQ】代码中字符格式问题——类似 error: stray ‘\357’ in program
- PM竞品分析(Competitive Analysis)
- C语言学习笔记(1)--基本概念和函数用法
- 【HDU】 1018 Big Number
- 树
- 如何创建并运行java线程
- 第七周项目三(2)求三数最大值
- 阿里面试经历及总结(数据挖掘)+个人学习经历
- C语言字符串操作函数
- 第七周项目1-电阻串联
- 第七周项目三:求三个数中的最大值
- 【Linux】 安装flash player——install flash player