模拟二进制

博约8486  •  1个月前


include<bits/stdc++.h>

using namespace std;

int a(int n){

int sum = 0;
for(int i = n; i > 0; i = floor(i / 2)){
	if(i % 2 == 1) sum++;
}
return sum;

}

int b(int n){

int sum = 0;
for(int i = n; i > 0; i = floor(i / 2)){
	if(i % 2 == 0) sum++;
}
return sum;

}

int main(){

int num1 = 0, num2 = 0;
for(int i = 1; i <= 1000; i++){
	if(a(i) > b(i)){
		num1++;
   }else num2++;

}
cout << num1 << " " << num2;

}//注意取值时要向下取整,模拟该位余数取1


评论:

不会


Easy  •  1个月前

请先登录,才能进行评论