Dev.baelanche

[백준 1024] 수열의 합 본문

Data Structure & Algorithm/PS - JAVA

[백준 1024] 수열의 합

baelanche 2019. 4. 1. 21:09
반응형

 

등차수열 공식을 이용했다.

 

 

 

따라서 x는

이다.

 

N, t, l 모두 주어지므로 수열의 처음시작인 X 를 구하여 x, x+1, x+2, ..., x+l-1 를 출력하면 된다.

 

public static int sequenceSum(int n) {
        n = n*(n+1)/2;
        return n;
    }
    
    public static int compareSum(int x, int l) {
        int sum = 0;
        for(int i=0; i<l; i++) {
            sum += x+i;
        }
        return sum;
    }
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = sc.nextInt();
        int l = sc.nextInt();
        
        for(int i=l; i<=100; i++) {
            int x = (n - sequenceSum(i-1))/i;
            
            if(n == compareSum(x, i) && x >= 0) {
                for(int j=0; j<i; j++) {
                    System.out.print(x+j+" ");
                }
                break;
            }
            if(i == 100 && n != compareSum(x, i))
                System.out.println(-1);
        }
}
반응형

'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글

[백준 1032] 명령 프롬프트  (0) 2019.04.01
[백준 1026] 보물  (0) 2019.04.01
[백준 1003] 피보나치 함수  (0) 2019.04.01
[백준 1018] 체스판 다시 칠하기  (0) 2019.04.01
[백준 1463] 1로 만들기  (0) 2019.03.31
Comments