D L1-4 颠倒阴阳

L1-4 颠倒阴阳

http://www.nowcoder.com/questionTerminal/d86fe333dc294f74bb5fb055475a86f2

其实就是一个进制转化的题目

#include<bits/stdc++.h>
#define m 32
using namespace std;

typedef long long ll;

int main(){
    ll n;
    cin>>n;

    int  a[32]={0};
    ll k = 32;

    int now;
    while(n){
        now = n  % 2;
        a[k] = !now;    //因为要取反,所以可以在这里直接取
        n /= 2;
        k--;
    }

    ll sum =0;
    for(int i=1;i<=m;i++){//这里不用反转直接就能求答案,好好思考下
        if(a[i] == 1){
            sum += pow(2,i-1);
        } 
    }
    cout<<sum<<endl;
}
全部评论
你这自己运行了的吗
点赞 回复 分享
发布于 2020-05-05 15:57

相关推荐

06-27 18:45
中山大学 Ruby
25届应届毕业生,来广州2个礼拜了,找不到工作,绝望了,太难过了…
应届想染班味:9爷找不到工作只能说明,太摆了或者太挑了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务