Computer Science/Algorithm
[Algorithm/C] BOJ.2292 벌집
재오니소스
2017. 11. 20. 20:09
위의 그림 처럼 주소가 매겨져 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N 번 방까지 최소 개수의 방을 지나서 갈 때 몇개의 방을 구하는지 구해라.
접근 방법
1. 몇 번방을 지나 가는지 알 필요 없다.
2. 입력 1은 자명해 1을 가진다.
3. 껍질(?)로 생각한다. 즉, 2~7 까지는 두번째 껍질이므로 답은 2
#include <stdio.h>
int main(int argc, char *argv[]){
int input;
int i;
int sum=0;
scanf("%d",&input);
if(input==1) printf("1");
else{
for(i=1; ;i++){
sum = sum + 6 * i;
if(input-1<=sum) {
printf("%d",i+1);
break;
}
}
}
return 0;
}
문제, 사진출처 - https://www.acmicpc.net/problem/2292