[백준 알고리즘]/[C++]
1094번 막대기 | Baekjoon BOJ 백준1094 C++ 코드, 해설, 풀이
말하는펭귄
2021. 1. 18. 12:20
728x90
반응형
이번 포스팅은 백준 1094번 막대기입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
기본 알고리즘
절반으로 자른 막대를 모두 합한다 = 이진수
23 = 16 + 4 + 2 + 1
32 = 32
64 = 64
48 = 32 + 16
출력 = 이진수 표현에서 1의 개수
전체 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//백준1094 막대기
#include <iostream>
using namespace std;
int main() {
int X;
cin >> X;
int ans = 0;
while (X>0) {
if (X % 2 == 1) {
ans++;
}
X /= 2;
}
cout << ans;
}
|
cs |
728x90
반응형