문제 링크입니다: https://www.acmicpc.net/problem/1094 결국 문제에서 요구하는 것은 주어진 X를 이진수로 변환했을 때 1의 개수였습니다.따라서 이진수로 변환 후 1의 갯수를 세면 쉽게 풀 수 있는 문제였습니다. #include #include using namespace std; int X; int numOfDivide(void) { int N = 64; int result = 0; int idx = 0; //이진수로 변환 while (X) { if (N > X) //N이 X보다 큰 경우 N을 2로 나누고 승수를 낮춘다 { N /= 2; idx++; continue; } result++; //2의 (6-idx)승이 1인 경우 센다 X -= pow(2.0, 6 - idx); }..