/*
根据用户的输入整数判断整数的二进制里含有多少个1
*/
#include<iostream>
using namespace std;
int main()
{
int count=0;//计数
int number;
printf("please input a number");
cin>>number;
for(;number;number=number>>1)
{
if (number&1==1)
count++;
}
cout<<count<<endl;
return 0;
}
时间复杂度为n(整数的二进制位数)
/*
根据用户的输入整数判断整数的二进制里含有多少个1
*/
#include<iostream>
using namespace std;
int main()
{
int count=0;//计数
int number;
printf("please input a number");
cin>>number;
for(;number;number=number&(number-1))
{
count++;
}
cout<<count<<endl;
return 0;
}
时间复杂度为m(整数二进制中1的位数)
根据用户的输入整数判断整数的二进制里含有多少个1
*/
#include<iostream>
using namespace std;
int main()
{
int count=0;//计数
int number;
printf("please input a number");
cin>>number;
for(;number;number=number>>1)
{
if (number&1==1)
count++;
}
cout<<count<<endl;
return 0;
}
时间复杂度为n(整数的二进制位数)
/*
根据用户的输入整数判断整数的二进制里含有多少个1
*/
#include<iostream>
using namespace std;
int main()
{
int count=0;//计数
int number;
printf("please input a number");
cin>>number;
for(;number;number=number&(number-1))
{
count++;
}
cout<<count<<endl;
return 0;
}
时间复杂度为m(整数二进制中1的位数)