본문 바로가기
IT_tech/알고리즘

백준) 분수찾기 -JAVA

by 신드로 2020. 6. 5.

https://www.acmicpc.net/problem/1193

 

1193번: 분수찾기

첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다.

www.acmicpc.net

 

package solution;

import java.util.Scanner;

public class Bakjun_1193 {
	public static void main(String[] args) {
	    Scanner sc = new Scanner(System.in);
	    int A = sc.nextInt();
	    
	    int n =1;
	    int sum=1;
	    while(A>sum) {
	    	n=n+1;
	    	sum=sum+n;
	    };
	    
	    int step=A-(sum-n);
	    
	    
	    if(n%2==1) {
	    	System.out.println((n+1-step)+"/"+ step);	
	    }else {
	    	
	    	System.out.println(step+"/"+(n+1-step) );
	    }
	    sc.close();	
	 
	    
	}
}

 

어..음..저는 그냥 막풀었는데요..

검색결과 등차수열 : n(n+1)/2 를 활용하면 더 간단하기도하고 메모리도 효율적으로 해결이 가능합니다