题解 | #牛牛的10类人#

牛牛的10类人

http://www.nowcoder.com/practice/232b7fc32fac4636819e31a7d7c960a3

#include<stdio.h>
int judge(int s){
    int m=0,n=0;//m统计0,n统计1
    while(s!=0){
        if(s%2==0){
            m++;
        }else{
            n++;
        }
        s=s/2;
    }
    if(m%2==0&&n%2==0){
            printf("10 ");
    }else if(m%2!=0&&n%2!=0){
            printf("100 ");
    }else if(m%2==0&&n%2!=0){
            printf("0 ");
    }else{
            printf("1 ");
    }
    return 0;
}
int main(){
    int t,i;//t表示个数
    scanf("%d",&t);
    int a[t];
    for(i=0;i<t;i++){
        scanf(" %d",&a[i]);
    }
    for(i=0;i<t;i++){
       judge(a[i]);
    }
}
全部评论
为什么是s=s/2 这里搞不懂 请求博主详解,救救菜鸟
点赞 回复 分享
发布于 2022-03-24 19:20
把s的二进制与除过的对比一下就知道了
点赞 回复 分享
发布于 2022-05-22 07:40

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务