刷題定理
計算二進制中1的個數
只需要每次n=n&(n-1)即可,循環計算迭代次數,直到n=0
#include<iostream>
using namespace std;
// 判斷二進制中1的個數
int main(){
int n,ct=0;
cin>>n;
while(n!=0){
n=n&n-1;
ct++;
}
cout<<ct<<endl;
}
只需要每次n=n&(n-1)即可,循環計算迭代次數,直到n=0
#include<iostream>
using namespace std;
// 判斷二進制中1的個數
int main(){
int n,ct=0;
cin>>n;
while(n!=0){
n=n&n-1;
ct++;
}
cout<<ct<<endl;
}
def convert_binary(num): result = [] if num <= 1: result.append(num) else: while True: