문제
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;
}
'개발 > 백준' 카테고리의 다른 글
[백준] 2847번. 게임을 만든 동준이 (C++) (1) | 2024.11.12 |
---|---|
[백준] 2665번. 미로만들기 (C++) (0) | 2024.11.11 |
[백준] 7569번. 토마토 (C++) (0) | 2024.11.08 |
[백준] 25195번. Yes or yes (2) | 2024.11.07 |
[백준] 18352번. 특정 거리의 도시 찾기 (C++) (1) | 2024.11.06 |