P1582 倒水

浪尽此生 提交于 2019-11-30 18:05:33
#include <iostream>
#include <cstdio>
using namespace std;
int ans=0,n,k;
int work(int x){
    int num=0;
    for(;x;x-=x&-x)    num++;
    return num;
}
int main(){
    scanf("%d%d",&n,&k);
    if(work(n)<=k){
        printf("0");
        return 0;
    }
    while(work(n)>k)    ans+=n&-n,n+=n&-n;
    printf("%d",ans);
    
    return 0;
}
View Code

这个题告诉我们求一的个数的方法,其实不算难吧,但是进制的题思维量是摆在这了

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!