#include<bits/stdc++.h> using namespace std; const int N=1000; int main(){ int n; cin>>n; int ans=0; for(int i=1;i<=N;i++){ if(n==1){ ans++; break; } if(n%2==1){ ans++; n=(n-1)/2; } else{ n=n/2; } } cout<<ans; }
C++ :
#include<bits/stdc++.h> using namespace std; int ans; int main(){ int n; cin>>n; ans=0; while(n!=1){ ans+=(n%2); n/=2; } cout<<(ans+1); return 0; }
Python :
# coding=utf-8 n=int(input()) s=0 while n>0: s+=n%2 n=n//2 print(s)
注册一个 TZHSOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 TZHSOJ 通用账户