HDU-6033 Add More Zero
来源:互联网 发布:sql多张表合并 编辑:程序博客网 时间:2024/06/04 19:02
题意:给一个数m,求一个数k满足10^k小于等于2^m-1。
思路:
先了解几个数学知识:
(logn m) = (logx m)/(logx n)
(logn m) = 1/(logm n)
log(N*M) = logN + logM
cmath头文件中的log(x)是以e为底x为真数的对数函数(也有log2(x), log10(x)),即数学中的ln(x),e = 2.718281828459。求任意数A的开N次方:pow(A, 1/N)。
对数函数的单调性
当a>1时,y = (loga x)在(0,+∞)上为增函数
当0<a<1时,y = (loga x)在(0,+∞)上为减函数
这题其实是简单的公式化简:
= 10^k <= 2^m-1
= 10^k < 2^m
= ln10^k < ln 2^m
= k*ln10 < m*ln2
= k < m*1n2/1n10
代码:
#include <cstdio>#include <cmath>using namespace std;int main(){int m, ans1, count = 0;while(~scanf("%d", &m)){double ans2 = (double)m*log(2)/log(10);ans1 = ans2;//判断相等与否,本题不判断也能过 if(ans2 > ans1) printf("Case #%d: %d\n", ++count, ans1);else printf("Case #%d: %d\n", ++count, ans1-1);}return 0;}
继续加油~
阅读全文
2 0
- HDU-6033 Add More Zero
- HDU 6033 Add More Zero
- HDU 6033 Add More Zero
- hdu 6033 Add More Zero
- HDU 6033 Add More Zero【】
- HDU 6033 Add More Zero
- HDU 6033 Add More Zero
- hdu 6033 Add More Zero
- HDU-6033 Add More Zero
- Add More Zero HDU
- HDU-Add More Zero
- Add More Zero HDU
- HDU 6033 Add More Zero (数学)
- HDU 6033 Add More Zero 【数学】【基础】
- HDU 6033 Add More Zero 数论 水题
- HDU 6033 Add More Zero(水~)
- (数学)HDU 6033 Add More Zero
- HDU 6033 Add More Zero 简单数学
- Servlet中出现:Server Tomcat v7.0 Server at localhost failed to start.错误
- js是什么
- Java_风险_不要主动进行垃圾回收
- 0725 jQuery选择器与事件
- linux shell返回值方式及示例
- HDU-6033 Add More Zero
- Java中的if-else
- JavaEE开发环境配置
- pat 1002
- JavaScript常用交互方式
- C++之lambda表达式
- javascript如何创建一个对象以及语言特点
- 一中OJ #1194 数独 | 回溯 + 搜索 | 解题报告
- 运算符