HDU 6033 简单计数

来源:互联网 发布:阿里云 安骑士 编辑:程序博客网 时间:2024/06/05 10:42

题目要求 2^m - 1 转换成科学记数法后求10的次方数

因为2的次方不会出现10的倍数,所以我一边乘,遇到进十就计数加一 水过

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;long long  a[100005];double t;void init(){    t=1;    for(int i=1;i<=100000;i++){        t*=2;        if(t>=10){            t/=10;            a[i] = a[i-1]+1;        }        else            a[i] = a[i-1];    }}main(){    long long  m;    int Case=1;    memset(a,0,sizeof(a));    init();    while(~scanf("%lld",&m)){        printf("Case #%d: %lld\n",Case++,a[m]);    }}