HDU 6033 Add More Zero 简单数学

来源:互联网 发布:网络预约挂号系统下载 编辑:程序博客网 时间:2024/05/22 06:10

题目:

http://acm.hdu.edu.cn/showproblem.php?pid=6033

题意:

2m中有多少个10k(k>=1)这样的数

思路:

其实就是求2m的位数减去1,即log102m+11就是答案:

log102m

=log22mlog210

=mlog210

到这里就可以编程序求出来了,就几行。。。

#include <bits/stdc++.h>using namespace std;typedef long long ll;const int N = 10000 + 10, INF = 0x3f3f3f3f;int cas = 0;int main(){    int m;    while(~ scanf("%d", &m))        printf("Case #%d: %d\n", ++cas, int(m / log2(10.0)));    return 0;}