HDOJ 1196: Lowest Bit - 비트 조작 으로 해답 구하 기

제목: n 을 세 어 이 바 이 너 리 표시 (binary notation) 의 가장 낮은 1 의 가중치 를 구하 십시오.
     이 문 제 는 간단 한 비트 조작 으로 바로 풀 수 있 는데, 만약 하나하나 테스트 를 한다 면 좀 느 릴 것 이다.
     제목 URL:http://acm.hdu.edu.cn/showproblem.php?pid=1196;
이것 은 나의 AC 코드 이다.
#include<iostream>
using namespace std;

int lowestBit(int num)
{
	return num & (num ^ (num - 1));
}

int main()
{
	int num;
	while(scanf("%d", &num) && num)
	{
		printf("%d
", lowestBit(num)); } system("pause"); return 0; }

좋은 웹페이지 즐겨찾기