우보천리 개발

[백준2018] 수들의 합 5(003) 본문

알고리즘/Do it! 알고리즘 코딩테스트

[백준2018] 수들의 합 5(003)

밥은답 2023. 8. 12. 23:06
반응형

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

 

2018번: 수들의 합 5

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

www.acmicpc.net

 

package Chapter1;
import java.util.*;

public class BJ2018 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();

        int sum = 1;
        int count = 0;
        int lp = 1;
        int rp = 1;

        while (lp <= rp) {
            if (sum == n) {
                count++;
                rp++;
                sum = sum + rp;
            }
            else if (sum > n) {
                sum = sum - lp;
                lp++;
            }
            else if (sum < n) {
                rp++;
                sum = sum + rp;
            }
        }

        System.out.println(count);
    }
}
반응형
Comments