已解决 王泽轩 资深天翼 #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分!!!
已采纳 潘艺博 初级天翼 定义n,ans,i=1,输入n,while循环(n),while循环(判断(n&1)是否=0,如果等于0,ans累加i,判断后,i<<1,n>>1)//括号里的内容均在while里面 最后输出ans即可AC 望采纳~
被禁言 汪子晨 修练者 很简单! unsigned 整型 a,ans,t=1; 开始() { 输入a; WHILE(a){ 如果((a&1)==0){ ans加等于t; } t等于t<<1; a等于a>>1; } 输出ans; 结束; }