컴퓨터기본/문제풀이

[백준] 2292번: 벌집

차가운오미자 2021. 9. 18. 10:54

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

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

문제 이해

수열이

1, 6, 12 로 늘어나는 것을 확인하면 된다.

1: 1번

2~7: 2번

8~19 : 3번

....

이런식으로 늘어간다.

 

작성 코드 (C++)

#include <iostream>

using namespace std;

int N;

int main(void){
    cin >> N;

    if(N==1) {
        printf("1"); 
        return 0;
    }

    int i;
    int no = 1;
    for(i = 1; ;i++){
        no += 6*i;
        if(no >= N) break;
    }
    printf("%d", i+1);

    return 0;
}

no가 원하는 수를 넘어가면 그 전 묶음에 있다는 뜻이다.