문제에 나와있는데로 지그재그로 적어보면 각 라인을 n으로 하는 등차수열에 성립한다.
등차수열을 이용하고 , 라인이 홀수일때는 분자가 n부터 시작하고 짝수이때는 분모가 n부터 시작한다.
import java.util.Scanner;
/*
* 1/1 (1 번째 라인)
* 1/2 , 2/1 ( 2번째 라인)
* 3/1 , 2/2 , 1/3 (3번째 라인)
* 1/4 , 2/3 , 3/2 , 4/1 (4번째 라인)
* 5/1 , 4/2 , 3/3 , 2/4 , 1/5 (5번째 라인)
*/
public class Exam1193 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int line = 0;
int count = 0;
while (count < n) {
line++;
count = line * (line + 1) / 2; // 등차수열
}
if (line % 2 == 0) {
int bunza = line - (count - n);
int bunmo = 1 + (count - n);
System.out.println(bunza + "/" + bunmo);
} else {
int bunza = 1 + (count - n);
int bunmo = line - (count-n);
System.out.println(bunza + "/" + bunmo);
}
}
}
'Algorithm by java' 카테고리의 다른 글
2231 - 분해합 java (0) | 2019.08.13 |
---|---|
2839 - 설탕배달 java (0) | 2019.06.27 |
1929 - 소수구하기 (에라토스테네스의 체) java (0) | 2019.05.13 |
2775번 - 부녀회장이 될테야! java (0) | 2019.05.12 |
1475-방번호 java (0) | 2019.05.12 |