为何10分?????
查看原帖
为何10分?????
980202
Orange0628楼主2025/6/22 19:54
#include<bits/stdc++.h>
using namespace std;
int change(int x){
	int xx=0;
	int a[100005]={0},i=0;
	while(x){
		a[++i]=x%2;
		x/=2;
	}
	int tmp=i;
	for(int j=i;j>=1;j--){
		xx+=a[j]*pow(10,--tmp);
	}
	return xx;
}
bool check(int x){
	int i=0,c[10005]={0},a=0,b=0;
	while(x){
		c[++i]=x%10;
		x/=10;
	}
	for(int j=1;j<=i;j++){
		if(c[i])a++;
		else b++;
	}
	if(a>b)return 1;
	else return 0;
}
int main(){
	int x;
	cin>>x;
	int a=0,b=0;
	for(int i=1;i<=x;i++){
		if(check(change(i)))a++;
		else b++;
	}
	cout<<a<<" "<<b<<endl;
	return 0;
}
2025/6/22 19:54
加载中...