首页 > 其他 > 详细

3554. 二进制

时间:2021-05-25 22:38:30      阅读:29      评论:0      收藏:0      [点我收藏+]

思路

\(32\)位二进制数转换为十进制数,用long long存储\(n+1\)\(n+3\)的结果(不超过\(33\)位),再将结果转成二进制即可。

void solve(LL n)
{
    for(int i=32;i>=0;i--)
    {
        int t=n>>i & 1;
        if(i == 32 && !t) continue;
        cout<<t;
    }
    cout<<endl;
}

int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        string s;
        cin>>s;
        
        LL n=0;
        for(auto c:s) n=n*2+c-‘0‘;
        solve(n+1);
        solve(n+3);
    }

    //system("pause");
    return 0;
}

3554. 二进制

原文:https://www.cnblogs.com/fxh0707/p/14810636.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!