lightoj1045
来源:互联网 发布:java伪造ip请求头信息 编辑:程序博客网 时间:2024/06/03 18:37
斯特林公式
求n!的位数
利用斯特林(Stirling)公式的进行求解。下面是推导得到的公式:
res=(long)( (log10(sqrt(2.0*πn)) + n(log10(n)-log10(exp(1.0)))) + 1 );
当n=1的时候,上面的公式不适用,所以要单独处理n=1的情况!
这种方法速度很快就可以得到结果。
代码如下:
#include <bits/stdc++.h>using namespace std;#define PI 2*acos(0)int main (){ int t, cnt = 1; scanf("%d", &t); while(t--) { int n, k; scanf("%d %d", &n, &k); printf("Case %d: ", cnt++); if(!n || n == 1) { puts("1"); continue; } int ans = ((log10(sqrt(2*PI*n))/log10(k)) + n*((log10(n)/log10(k))-(log10(exp(1.0))/log10(k))) + 1);//斯特林公式 printf("%d\n", ans); } return 0;}
阅读全文
0 0
- lightoj1045
- lightoj1045 - Digits of Factorial
- lightoj1045 - Digits of Factorial
- 【lightoj1045】数学-小知识点
- lightoj1045 - Digits of Factorial(数论)
- Lightoj1045 Digits of Factorial(数论)
- LightOJ1045 Digits of Factorial (k进制下N!的位数 数学题)
- Lightoj1045——Digits of Factorial(k进制的n的阶乘位数)
- Light-oj-1045 lightoj1045 - Digits of Factorial (N!不同进制的位数)
- LightOJ1045 Digits of Factorial 求n的阶乘在k进制下的位数
- ACM暑假训练日记 17.8.22
- 使用BigDecimal进行精确运算
- SASS开发环境搭建(webstorm做编辑器)
- zip文件伪加密
- HDMI热插拔检测原理
- lightoj1045
- Hive优化---启用local模式
- Android系统架构
- codeforces 231B Magic, Wizardry and Wonders(超强技巧+思维+观察力)
- Java反射机制学习
- windows caffe 训练自己的数据
- Android中的Adapter
- JDBC Oracle和java的连接
- Hive优化--并行执行