#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; }
#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!!!
注册一个 TeMenHu 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 TeMenHu 通用账户