问题标题: 酷町堂:6748:数字的位运算

0
0
已解决
王泽轩
王泽轩
资深天翼
资深天翼
#include<iostream>
using namespace std;
int main(){
    int a[202020],x,sum=0,cnt=0,t;
    cin>>x;
    while(x){
        if(x&1==1){
            int c;
        }else{
            cout<<x;
            return 0;
            a[++cnt]=t; 
        }
        t=t<<1;
        x=x>>1;
    }
    for(int i=1;i<=cnt;i++){
        sum+=a[i];
    }cout<<sum;
}

WA0分!!!


0
已采纳
潘艺博
潘艺博
初级天翼
初级天翼

定义n,ans,i=1,输入n,while循环(n),while循环(判断(n&1)是否=0,如果等于0,ans累加i,判断后,i<<1,n>>1)//括号里的内容均在while里面

最后输出ans即可AC

望采纳~

0
王子桐
王子桐
高级光能
高级光能

换个头像吧大哥!

你恶心到我们了!

0
被禁言 汪子晨
汪子晨
修练者
修练者

很简单!  
unsigned 整型 a,ans,t=1;
开始()  
{  
    输入a;
    WHILE(a){
        如果((a&1)==0){
            ans加等于t;
        }
        t等于t<<1;
        a等于a>>1;
    }
    输出ans;
    结束;
}

0
0
我要回答