자라나라 개발머리

[프로그래머스/JAVA] 연속된 자연수의 합 구하기 본문

알고리즘/프로그래머스

[프로그래머스/JAVA] 연속된 자연수의 합 구하기

iammindy 2023. 3. 17. 17:16

문제 설명

문제 설명

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

예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 10, 1+2+3+4의 2가지가 있다.

N을 입력받아 가지수를 출력하세요


입력

자연수


출력

자연수


입출력 예

 

풀이과정

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int N = sc.nextInt();
        int result = 0;
        
        for(int start=1; start<=N; start++) {
            int tmp = 0;
            
            for(int end=start; end<=N; end++) {
                tmp += end;
                if(tmp>=N) {
                    if (tmp==N) { result++; break; }
                    break;
                }
            }
        }
        
        System.out.print(result);
    }
}

 

한 줄 메모

그렇게 어렵지 않았던 문제!