HDU 6033 Add More Zero (数学)
题目链接:https://vjudge.net/problem/HDU-6033
这水题好难想。。。。。。
题意:给一个数m,求一个数k满足10^k小于等于2^m-1。
这题其实是简单的公式化简:
= 10^k <= 2^m-1
= 10^k < 2^m
= ln10^k < ln 2^m
= k*ln10 < m*ln2
= k < m*1n2/1n10
代码:
int main() { int cnt=0,m; while(cin>>m) { int ans=m*log(2)/log(10);//不要用for循环查找,否则超时 printf("Case #%d: %d\n",++cnt,ans); } return 0; }