SOJ 1119 Factstone Benchmark
来源:互联网 发布:淘宝原单尾货好的店铺 编辑:程序博客网 时间:2024/06/06 00:58
题目传送门在此
题目大意可以概括为找出比2的k次方小的最大阶乘数,一开始有冲动自己用位操作做,后来想到当k上几百的时候连long long也存不下,又想到高精度,可是还是觉得不行。后来查了查确认是要用数学的办法。
新概念:斯特林公式
当然这里其实也不必用到真的斯特林公式,但在维基百科上找到了一条很有启发性的公式:
既然我们有限制条件,可以推出
如此将一个指数级问题转化为了线性问题
代码如下:
#include <cstdio>#include <cmath>int main() { int year; while (scanf("%d", &year) && year) { int p = year / 10 - 194; int max = 1 << p; int n = 2; double sum = 0.0; while (sum <= max) { sum += log(n) / log(2); ++n; } printf("%d\n", n - 2); } return 0;}
0 0
- SOJ 1119 Factstone Benchmark
- 1119 Factstone Benchmark
- Sicily 1119 Factstone Benchmark
- Factstone Benchmark
- Factstone Benchmark
- Factstone Benchmark
- Factstone Benchmark
- Factstone Benchmark
- Factstone Benchmark
- UVa 10916 Factstone Benchmark
- hdu 1141 Factstone Benchmark
- 1119. Factstone Benchmark
- poj2661 Factstone Benchmark
- uva 10916 Factstone Benchmark
- UVA 10916 - Factstone Benchmark
- UVa 10916 - Factstone Benchmark
- uva 10916 - Factstone Benchmark
- uva-10916 - Factstone Benchmark
- 《数据挖掘概念与技术》学习笔记
- 在64位Windows8系统下编写并调试汇编程序
- 字典转模型
- Freeglut 2.8.1 +VS2010配
- Volatile 的使用场景及使用模式说明
- SOJ 1119 Factstone Benchmark
- 允许ubuntu下mysql远程连接
- 初识 PS CS6(九)___用Alpha 通道保护图像
- 一些Python代码
- 使用Eclipse开发Android源码
- ackerman函数
- 西电人总结各it公司待遇
- UVa 1583 - Digit Generator
- CSS的简单练习