cf#320 Div.2 Problem A Raising Bacteria

来源:互联网 发布:js 获取浏览器信息 编辑:程序博客网 时间:2024/04/30 18:26

一道简单的十进制数转化为二进制数的问题,答案是二进制数数位上1的个数


#include <iostream>#include <cstdio>#include <cstring>using namespace std;int A[33]={1,2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576,2097152,4194304,8388608,16777216,33554432,67108864,134217728,268435456,536870912};int main(){    int x;    scanf("%d",&x);    int ans=0;    for(int i=29;i>=0;i--){        if(x>=A[i]){            ans++;            x-=A[i];        }    }    printf("%d\n",ans);}


0 0
原创粉丝点击