刷題遇到的定理

計算二進制中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;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章