How to solve the problem of adding more zeros in hdu6033?
- 内容介绍
- 文章标签
- 相关推荐
本文共计182个文字,预计阅读时间需要1分钟。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6033题目内容:请你计算2的m-1次方,即2^m-1,以10为底的对数。解析:由于不减一,所以可以直接计算。
题目链接:acm.hdu.edu.cn/showproblem.php?pid=6033
题意:让你求2^m-1次方里面是几位数,即对2^m-1取以10为底的对数
解析:由于不减一也不可能出现增加位数的情况,所以可以直接对2^m次方求对数,换底公式得ans = m*log(2)/log(10)
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int m,case_t = 1;
while(~scanf("%d",&m))
{
int ans = (int)(m*log(2)/log(10));
printf("Case #%d: %d\n",case_t++,ans);
}
return 0;
}
本文共计182个文字,预计阅读时间需要1分钟。
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6033题目内容:请你计算2的m-1次方,即2^m-1,以10为底的对数。解析:由于不减一,所以可以直接计算。
题目链接:acm.hdu.edu.cn/showproblem.php?pid=6033
题意:让你求2^m-1次方里面是几位数,即对2^m-1取以10为底的对数
解析:由于不减一也不可能出现增加位数的情况,所以可以直接对2^m次方求对数,换底公式得ans = m*log(2)/log(10)
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
int m,case_t = 1;
while(~scanf("%d",&m))
{
int ans = (int)(m*log(2)/log(10));
printf("Case #%d: %d\n",case_t++,ans);
}
return 0;
}

