๋ฌธ์
๋ฌดํํ ํฐ ๋ฐฐ์ด์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ์๋ค์ด ์ ํ์๋ค.
1/1 | 1/2 | 1/3 | 1/4 | 1/5 | … |
2/1 | 2/2 | 2/3 | 2/4 | … | … |
3/1 | 3/2 | 3/3 | … | … | … |
4/1 | 4/2 | … | … | … | … |
5/1 | … | … | … | … | … |
… | … | … | … | … | … |
์ด์ ๊ฐ์ด ๋์ด๋ ๋ถ์๋ค์ 1/1 -> 1/2 -> 2/1 -> 3/1 -> 2/2 -> … ๊ณผ ๊ฐ์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ์ฐจ๋ก๋๋ก 1๋ฒ, 2๋ฒ, 3๋ฒ, 4๋ฒ, 5๋ฒ, … ๋ถ์๋ผ๊ณ ํ์.
X๊ฐ ์ฃผ์ด์ก์ ๋, X๋ฒ์งธ ๋ถ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ X(1 ≤ X ≤ 10,000,000)๊ฐ ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ถ์๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ
14
์์ ์ถ๋ ฅ
2/4
ํ์ด
ํด๋น ๋ฐฐ์ด์ ์ง๊ทธ์ฌ๊ทธ ์์๋ก ๋ฒํธ๊ฐ ๋ถ์ฌ์ง๊ธฐ ๋๋ฌธ์, ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ฒซ๋ฒ์งธ ๋๊ฐ์ ์ ํ๊ฐ, ๋๋ฒ์งธ ๋๊ฐ์ ์ ๋๊ฐ, n๋ฒ์งธ ๋๊ฐ์ ์ n๊ฐ์ ๋ถ์๊ฐ ์์นํ๊ฒ ๋๋ค. ๋ํ ์ง์๋ฒ์งธ ๋๊ฐ์ ์ ๋ถ๋ชจ ๋ด๋ฆผ์ฐจ์, ๋ถ์ ์ค๋ฆ์ฐจ์ / ํ์๋ฒ์งธ ๋๊ฐ์ ์ ๋ถ๋ชจ ์ค๋ฆ์ฐจ์, ๋ถ์ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ซ์๊ฐ ์ ํด์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
1. ์ ๋ ฅ๋ฐ์ x์ ๊ฐ์์ง ํ์ธํ xis, ๋ช๋ฒ์งธ ๋๊ฐ์ ์ธ์ง ํ์ธํ n์ 1๋ก ์ด๊ธฐํ
2. while๋ฌธ๊ณผ for๋ฌธ์ xis๊ฐ x์ ๊ฐ์๋๊น์ง ๋ฐ๋ณต, ํ๋ฒ์ break
3. for๋ฌธ์ n๋ฒ์งธ ๋๊ฐ์ ์ ๋ถ์ ๊ฐ์๋งํผ(=n) ๋ฐ๋ณต. n์ ์ฆ๊ฐ์ํค๋ฉด์ n์ ๋ด๋ถ์์ xis๋ฅผ ์ฆ๊ฐ์ํจ๋ค.
4. x์ xis๊ฐ ๊ฐ์์ก์ ๋, n์ด ํ์์ธ์ง ๋ถ์์ธ์ง ํ๋จํ์ฌ ๋ถ๋ชจ ๋ถ์ ์ถ๋ ฅ
import java.util.Scanner;
public class B1193 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int xis = 1;
int n = 1;
Loop1 :
while(true) {
for(int i = 1; i <= n; i++) {
if(x == xis) {
if(n % 2 == 0) {
System.out.println( i + "/" + (n-i+1) );
} else {
System.out.println( (n-i+1) + "/" + i );
}
break Loop1;
}else {
xis++;
}
}
n++;
}
}
}