top1编程
← 返回题目
题解

【入门】2进制中的0和1

1 条题解

  • 0
    @ 2026-7-29 0:19:13
    #include<bits/stdc++.h>//#1062. 2进制中的0和1
    using namespace std;
    //十进制->二进制 
    string s; //二进制数字 
    int main(){//十进制是0 =>二进制0 =>0 1个 1 0个 
    	int n,y,i=0,l=0;//n从十进制变为二进制
    	cin>>n;
    	if(n==0){
    		cout<<1<<" "<<0;
    		return 0;//结束 
    	} 
    	char c;// 
    	while(n!=0){//数字不是0 一直除以2 
    		//余数 从数字变为字符
    		y=n%2;
    		if(y==1){//计算0和1个数=>对余数计算 
    			i++;
    		}else{
    			l++;
    		} 
    		c=y+'0';
    		s=c+s;//余数字符放在左边 
    		n=n/2;
    	}
    	cout<<l<<" "<<i; 
    	return 0;
    
    }
    
    • 1