[C++]백준2292 벌집
문제
예제 입력
코드
#include<iostream>
using namespace std;
int main() {
cin.sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int num, sum = 1;
cin >> num;
for (int i = 0; i < num; i++) {
sum += 6 * i;
if (num <= sum) {
cout << i + 1;
break;
}
}
}
설명
기본적으로 C/C++의 기본 입출력함수를 혼합하여 사용되게 만들었지만 그만큼 실행속도에서 차이가 생기기 때문에 설정을 해주며 입력을 받아 1번 집과 거리를 구해야하는데 반복적인 패턴을 보면 1 -> 7(+6) -> 19(+12)
로 6의 배수만큼 늘어나는 것을 알 수 있습니다. 입력값이 어디에 속하는지 반복문으로 찾아 거리를 출력합니다.