문제

 

 

풀이

 n이 위치한 육각형이 중앙으로부터 몇 번째 육각형인지를 구하면 된다.

 각 육각형의 마지막 수는 각각 1, 7, 19, 37, 61로 증가값이 6의 배수로 증가함을 알 수 있고 이를 통해 n에 도달하려면 최소 몇 번 이동해야하는지 알 수 있다.

#include <iostream>

using namespace std;

int main() {	
	int n;
	int cnt = 0, sum = 0;

	cin >> n;

	for (int i = 0; sum < n; i++) {
		if (i == 0) sum += 1;
		else sum += 6 * i;

		cnt++;
	}

	cout << cnt;

	return 0;
}

 

'백준 > 기하' 카테고리의 다른 글

2869번: 달팽이는 올라가고 싶다 [C++]  (0) 2023.04.06
14215: 세 막대 / C++  (0) 2023.03.21
5073: 삼각형과 세 변 / C++  (0) 2023.03.21
10101: 삼각형 외우기 / C++  (0) 2023.03.21
9063: 대지 / C++  (0) 2023.03.21

+ Recent posts