녕의 학습 기록

백준_2018 수들의 합 5 (투포인터) 본문

Algorithm/Algorithm 문제

백준_2018 수들의 합 5 (투포인터)

kjyyjk 2023. 11. 22. 11:14

 

 

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class BJ_2018 {
    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int n = Integer.parseInt(br.readLine());
        int start_pointer = 1;
        int end_pointer = 1;
        int sum = 1;
        int cnt = 1;

        while(end_pointer!=n){

            if(n > sum) {
                end_pointer++;
                sum += end_pointer;
            } else if (n < sum) {
                sum -= start_pointer;
                start_pointer++;
            } else {
                end_pointer++;
                sum += end_pointer;
                cnt++;
            }
        }

        System.out.println(new StringBuilder().append(cnt).append('\n'));
    }

}

 

 

 

2018번: 수들의 합 5

어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한

www.acmicpc.net