곽로그
[백준 1193] 분수찾기 본문
반응형
접근법
처음에는 문제를 제대로 읽지 않고 1/1 1/2 2/1 1/3 2/2 3/1 이렇게 진행되는 거인줄 알았다. 근데 이게 홀수군과 짝수군인지에 따라 달라진다. 군이라는 말에서 보듯, 이 수열은 군수열이다.
이렇게 나열한다음 규칙을 찾아보면 된다. 1군의 분자 분모의 합은 2, 2군의 분자 분모의 합은 3, 3군의 분자 분모의 합은 4 ... 이런 규칙이 있고, 짝수항과 홀수항에 따라서 짝수항일 경우 분자가 1234 이렇게 변하고 홀수 항일 경우 분모가 1234 이렇게 변한다. 따라서 입력받은 N이 몇번째 군에 속하는지, 그리고 그 군에서 몇번째 항인지를 계산해주면 된다.
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in =new Scanner(System.in); int n=in.nextInt(); int start=1; int sequence=0; int group=1; int up; int down; while(true) { if(n>=start) { sequence++; start+=sequence; } else { break; } group++; } if((group-1)%2!=0) { down= n-(start-sequence)+1; up=group-down ; } else { up= n-(start-sequence)+1; down=group-up ; } System.out.println(up+"/"+down); } } <
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준 2839] 설탕배달 (0) | 2019.05.03 |
---|---|
[백준 1977] 완전제곱수 (0) | 2019.05.03 |
[백준 2292] 벌집 (0) | 2019.04.25 |
[백준 10039] 평균점수 (0) | 2019.04.25 |
[백준 2448] 별찍기-11 (시간초과) (0) | 2019.04.24 |
Comments