[c++/알고리즘] 백준 2292 벌집
규칙을 찾는 것이 중요한 문제.
나같은 경우는 각 칸(번호)에 어떻게 가느냐에 집중하다 보니, 코드도 복잡해지고 예외사항이 자꾸 발생하였다.
- 벌집을 볼때
1에서 1은 1번만에
1에서 2~7까지는 2번만에
1에서 8~19까지는 3번만에
1에서 20~37까지는 4번만에 ''' 가는 것을 알 수 있다.
1 / 7 / 19 / 37 / ''' 은 공비가 6인 등비수열임을 이용한다.
// 백준 2292 벌집
#include <iostream>
#include <string>
using namespace std;
int main(){
int n;
cin >> n;
int i=1;
int cnt = i;
while(n > i){
i += (6*cnt);
cnt++;
}
cout << cnt;
}
증가시킨 등비수열 값이 입력받은 값보다 클때까지
등비수열 값을 증가시키고,
몇번째 범위에 포함되는지 cnt를 출력.
다시해보고 확실하게 이해해야 겠다.
Author And Source
이 문제에 관하여([c++/알고리즘] 백준 2292 벌집), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@myeongs07/c알고리즘-백준-2292-벌집저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)