문제 출처: https://www.acmicpc.net/problem/1193
규칙을 찾는다.
(1/1) (1/2, 2/1) (3/1, 2/2, 1/3) (1/4, 2/3, 3/2, 4/1) (5/1, 4/2, 3/3, 2/4, 1/5) (1/6, ..
1/1을 1, 1/2를 2, 2/1을 3, 3/1을 4, 순으로 번호를 매길 때, 각 괄호의 첫 번째 번호는 1, 2, 4, 7, 11, 16, ... 이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int X = Integer.parseInt(reader.readLine()); int start = 1, term = 1; while(true){ if(start <= X && X < start+term){ for(int i=start, j=0 ; i<start+term ; i++, j++){ if(i == X){ if(term%2 == 1){ System.out.println((term-j) + "/" + (1+j)); return; } else { System.out.println((1+j) + "/" + (term-j)); return; } } } } else{ start += term; term++; } } } } | cs |
'Algorithm' 카테고리의 다른 글
백준 1475번: 방 번호 (0) | 2018.10.24 |
---|---|
백준 2775번: 부녀회장이 될테야 (0) | 2018.10.24 |
백준 2292번: 벌집 (0) | 2018.10.24 |
백준 9020번: 골드바흐의 추측 (0) | 2018.10.21 |
백준 4948번: 베르트랑 공준 (0) | 2018.10.21 |