반응형
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
#include <iostream>
using namespace std;
int main()
{
/*
막대기가 나뉠수있는건 1,2,4,8,16,32
*/
int x;
cin >> x;
int cnt = 0;
for (int j = 0; j < 7; j++)
{
if (x & 1 << j)cnt++;
}
cout << cnt;
}
종이에 64를 나눠가며 경우의수를 따져가다보니 64,32,16,8,4,2,1 비트마스크로 표현하기 좋은 숫자만 나왔다
&연산자를 통해서 그 경우가 있는경우 cnt++를 시켜 값을 출력시켰다
반응형
'백준(알고리즘)' 카테고리의 다른 글
[이것이 코딩 테스트다 with 파이썬] 큰 수의 법칙 (0) | 2021.06.21 |
---|---|
백준 1267 핸드폰 요금 (0) | 2021.01.22 |
백준 1613 역사 (0) | 2021.01.17 |
백준 14889 스타트와 링크 (비트마스크) (0) | 2021.01.17 |
백준 11723 집합 (0) | 2021.01.16 |