2 条题解

  • 1
    @ 2026-6-26 19:48:01
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e5+10;
    const int INF=0x3f3f3f3f;
    int t,n,ans;
    int main(){
        cin>>t;
    	while(t--){
    		cin>>n;
    		ans=0;
    		while(n){
    			if(n%2==1){
    				ans++;
    				n/=2;
    				n+=n%2;
    			}
    			else{
    				n/=2;
    			}
    		}
    		cout<<ans<<endl;
    	}
    	return 0;
    }
    
    
    • 0
      @ 2026-7-21 22:52:36
      #include<bits/stdc++.h>  
      using namespace std;
      int main(){
      	int n,t,cnt;
      	cin>>t;
      	for(int i=1;i<=t;i++){
      		cin>>n;
      		cnt=0;
      		while(n){
      			if(n%2==0){
      				n/=2;
      			}
      			if(n%2==1){
      				cnt++;
      				n/=2;
      				if(n%2==1){
      					n/=2;
      					n+=1;
      				}
      			}		
      		}
      		cout<<cnt<<endl;	
      	}
      	return 0;
      }
      //可直接用包AC!!!
      
      • 1

      信息

      ID
      3201
      时间
      1000ms
      内存
      256MiB
      难度
      6
      标签
      递交数
      160
      已通过
      49
      上传者