PS/BOJ
백준 1094번: 막대기 (C++)
도비(Doby)
2022. 11. 16. 16:08
https://www.acmicpc.net/problem/1094
1094번: 막대기
지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대
www.acmicpc.net
Solved By: Math
문제를 해석하면 주어진 수가 몇 개의 2의 제곱수로 이루어져 있는지 묻는 문제였습니다. 이진수에 의하면 모든 수는 이진수로 표현 가능하기 때문에 이런 특성을 활용하여 아이디어를 떠올릴 수 있었습니다.
#include <iostream>
using namespace std;
int main(){
int n; cin >> n;
int two = 64;
int ans = 0;
while(two){
if(n / two){
ans++;
n -= two;
}
two >>= 1;
}
cout << ans;
return 0;
}
728x90