본문 바로가기

개발/백준

[백준] 27961번. 고양이는 많을수록 좋다

문제

https://www.acmicpc.net/problem/27961

 

주의사항

N범위가 0  ~ 10^12 이다. long long으로 하자

 

풀이

N 0 1 2 3 4 5 6 7 8
최소 횟수 0 1 2 3 3 4 4 4 4

확인하다보면 2의n승 기준으로 변화가 생기는 것을 확인할 수 있다.

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	//INPUT
	long long N;
	cin >> N;
	if (N < 2) { cout << N; return 0; }

	//COUNT
	long long count = 1;
	while (N > pow(2, count))
	{ count++; }

	//RESULT
	cout << count+1;
	return 0;
}