题解 | #牛牛的10类人#

牛牛的10类人

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

#include <stdio.h>
#include<malloc.h>

/*
一种是 1 的数量是偶数的,牛牛称之为 1 数,
一种是 0 的数量是偶数的,牛牛称之为 0 数,
如果一个数同时是 1 数和 0 数,那称之为 10 数。---->1和0的数量都是偶数
即输出 0 或 1 或 10,如果既不是 0 类也不是 1 类则输出 100
*/
//二进制转换函数
// int dectobin(int n) {
//     int sum = 0;
//     int y, x = 1; // y表示余数,x为叠加的系数
//     while (n != 0) {
//         y = n % 2;
//         sum += x * y;
//         x *= 10;
//         n /= 2;
//     }
//     return sum;
// }

void judge(int s) {
    int flag = 0, flag1 = 0; //flag记录0个数,flag1记录1
    while (s != 0) {
        if (s % 2 == 0)
            flag++;
        else
            flag1++;
        s /= 2;
    }
    if (flag % 2 == 0 && flag1 % 2 == 0)
        printf("10 ");

    else if (flag % 2 != 0 && flag1 % 2 != 0)
        printf("100 ");
    else if (flag % 2 == 0 && flag1 % 2 != 0)
        printf("0 ");
    else
        printf("1 ");
}


int main() {

    int n, i;
    scanf("%d", &n);
    int* arr = (int*)malloc(n * sizeof(int));
    int* a = (int*)malloc(100 * sizeof(int));
    for (i = 0; i < n; i++)
        scanf("%d", &arr[i]);

    for (i = 0; i < n; i++)
        judge(arr[i]);




}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-11 15:08
点赞 评论 收藏
分享
zzzzhz:兄弟你先猛猛投简历至少三百家,能约到面试就去面。最近可以速成智能小车,智慧家居烂大街的项目,不需要自己写,只需要把里面的代码讲解看明白就行。把其中涉及到的八股文都拿出来单独背一下,我去年找工作就一个智能小车智慧家居找了10k差不多。
点赞 评论 收藏
分享
05-30 12:03
山西大学 C++
offer来了我跪着...:不是骗子,等到测评那一步就知道为啥这么高工资了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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