知识点
我我我不会做,虽然只有五分,,
核心:
while(n!=0){
a[len++]=n%2;
n=n/2;
}
也可以不存到数组里,直接Count++
参考代码
#include <iostream>
#include <string.h> //memset(a,0,sizeof(a));
using namespace std;
#define M 10000
long long n;
int a[M];
int len=0;
int Count=0;
int main(){
memset(a,0,sizeof(a));
cin>>n;
while(n!=0){
a[len++]=n%2;
n=n/2;
}
for (int i=len-1;i>=0;i--){
if (a[i]==1) Count++;
}
printf("%d",Count);
return 0;
}