[ 문제 ]
1/1 1/2 1/3 1/4 ... 2/1 2/2 2/3 2/4 ... 2/1 2/2 2/3 2/4 ... ... ... ... ... ... 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.Buffer;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
//분수 찾기 : 1193번
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int T = Integer.parseInt(br.readLine());
int tmp = T ;
int ans = 1;
while(tmp > 0){
tmp -= ans;
ans += 1;
}
if ((ans - 1) % 2 == 0) {
System.out.println( (tmp + ans - 1) + "/" + (1 - tmp));
} else {
System.out.println( (1 - tmp) + "/" + (tmp + ans - 1));
}
}
}
백준 1193번 : https://www.acmicpc.net/submit/1193/87949824