提交时间:2024-08-19 21:52:52

运行 ID: 168024

#include <stdio.h> #include <stdlib.h> int Binary_number(int n){ int binary_number,num1=0,num0=0; //将1和0的个数初始化为0 while(n>0){ binary_number=n%2; n=n/2; if(binary_number==1) num1++; //题中只要求比较0和1的个数,所以无需把二进制数表示出来 else num0++; } if(num0>=num1) return 0; else return 1; } int main() { int i,num_A=0,num_B=0; for(i=1;i<=1000;i++){ if(Binary_number(i)==1) num_A++; else num_B++; } printf("%d %d",num_A,num_B); return 0; }