实现自Matrix67!
//
二进制中的1有奇数个还是偶数个
//实现一
#include <stdio.h>

int main() {
int n;
while (scanf("%d", &n) != EOF) {
int c = 0;
while (n) {
c += n & 1;
n >>= 1;
}
if (c & 1) printf ("奇数个\n");
else printf ("偶数个\n");
}
return 0;
}

//实现二
//分治思想
#include <stdio.h>

int main() {
int n;
while (scanf("%d", &n) != EOF) {
n = n ^ (n >> 1);
n = n ^ (n >> 2);
n = n ^ (n >> 4);
n = n ^ (n >> 8);
n = n ^ (n >> 16);
if (n & 1) printf ("奇数个\n");
else printf ("偶数个\n");
}
return 0;
}

 

相关文章:

  • 2022-01-11
  • 2021-12-12
猜你喜欢
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案