1 条题解

  • 0
    @ 2023-6-11 12:15:50

    C :

    #include<stdio.h>
    int erJin(int x)
    {
    	int y,a=0,b=0;
    	while(x>0){
    		y=x%2;
    		if(y==1){
    			a++;
    		}else{
    			b++;
    		}
    		x/=2;
    	}
    	if(a>b){
    		return 1;
    	}else{
    		return 0;
    	}
    }
    int main(){
    	int n;
    	scanf("%d",&n);
    	int i,a=0,b=0;
    	for(i=1;i<=n;i++){
    		if(erJin(i)){
    			a++;
    		}else{
    			b++;
    		}
    	}
    	printf("%d %d",a,b);
    	return 0;
    }
    

    C++ :

    #include<iostream>
    using namespace std;
    
     
    bool pd(int n);
    
    int main(){
    	
    	int n=0;
    	cin>>n;
    	int a=0,b=0;
    	
    	for(int i=1;i<=n;i++){
    			if(pd(i))
    				a++;
    			else
    				b++;
    	}
    	 
    	cout<<a<<" "<<b;
    
    	
    }
    
    bool pd(int n){
    	int x=n;
    	int y=0;
    	
    	int a=0,b=0;
    	
    	while(x!=0){
    			y=x%2; 
    			x=x/2;
    			
    			if(y==0)
    				b++;
    			else
    				a++;		
    	}
    
    	if(a>b)
    		return true;
    	else
    		return false;	
    	
    }
    
    

    Python :

    n=int(input())
    s1=s2=0
    for i in range(1,n+1):
        s=bin(i)
        s=s[2:]
        if s.count("1")>s.count("0"):
            s1=s1+1
        else:
            s2=s2+1
    print(s1,s2)
    
    • 1

    信息

    ID
    2064
    时间
    1000ms
    内存
    16MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者