题解 | #位操作练习#

位操作练习

https://www.nowcoder.com/practice/7bdc346ca39841f6a05f73d98477621d

#include<cstdio>
using namespace std;
void binary(int n, char arr[]) {
    int res;
    int i = 0 ;
    while (n != 0) {
        res = n / 2;
        arr[i] = (n - res * 2);
        ++i;
        n = n / 2;
    }
}
void swap(char x[]) {
    int temp = x[0];
    for (int i = 0 ; i < 15 ; ++i ) {
        x[i] = x[i + 1];
    }
    x[15] = temp;
}
bool judge(char x1[], char x2[]) {
    for (int i = 0; i < 15; ++i) {
        if (x1[i] != x2[i]) {
            return true;
        } 
    }
            return false;     
    }

int main() {
    int n, m;
    while (scanf("%d%d", &n, &m) != EOF) {
        char x1[16] = {0};
        char x2[16] = {0};
        binary(n, x1);
        binary(m, x2);
        int i = 0;
        while ( judge(x1, x2)) {
            swap(x1);
            ++i;
            if (i == 16) {
                printf("NO\n");
                return 0;
            }else{
                i =i;
            }
        }
        printf("YES\n");
    }
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 14:23
点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
找个工作&nbsp;学历是要卡的&nbsp;要求是高的&nbsp;技能不足是真的&nbsp;实习经验是0的&nbsp;简历无处可写是事实的&nbsp;钱不好赚是真的&nbsp;想躺平又不敢躺&nbsp;也不甘心躺&nbsp;怕自己的灵感和才华被掩埋甚至从未被自己发现&nbsp;又质疑自己是否真正有才华
码农索隆:你现在啊,你心里都明白咋回事,但是你没办法改变现状,一想到未来,你又没有信心狠下心来在当下努力。 得走出这种状态,不能一直困在那里面,哪不行就去提升哪,你一动不动那指定改变不了未来,动起来,积少成多才能越来越好
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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