[白俊]2292-ハニカム(JAVA)




問題自体は分かりやすく、ルールも見つかり、コードを書く過程で、大量の挿入をしました.考えすぎたようで...再帰関数の使用を試みる
蜂の巣はまず1を基準にして、外の皮のように大きい.これはハニカム層(?)もしそうなら、
1階は1階です.
二階は二三四五六七です.
3階は8、9、10、11、12、13、14、15、16、17、18、19
...
何らかの形で続く.
このとき,1階のハニカムルームの個数は1階1個,2階6個,3階12個,4階18個であった.
1階を除いたフロアには이전 층의 벌집개수+6くらいの部屋があります.
import java.io.*;

public class No2292_벌집 {

    public static void main(String[] args) throws  IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    int x = Integer.parseInt(br.readLine());
    int cnt=1; //몇겹을 지나야 도착하는지 count
    int sum=1; //각 층의 최대 숫자

    if (x==1)
        System.out.println("1");
        //1이면 바로 1출력
    else {
        while (sum<x) { 
           sum+=6*cnt; //현재 층의 최대 숫자 
           	//이전층의 최대숫자 + 현재층의 벌집 개수
           cnt++; 
           }
        System.out.println(cnt);
        }

        }
    }