SWEA(SWExpertacAdemy)

[swea] 7510. 상원이의 연속 합 D3 (자바)

심층코드 2025. 5. 18. 23:14

7510. 상원이의 연속 합 D3


[문제]
연속적인 것에는 어떤 아름다움이 있다.

상원이는 자연수를 아름답게 쓰는 법을 고민하다가 연속된 자연수의 합으로 표현하기로 했다.

예를 들면, 15는 15 = 7 + 8 = 4 + 5 + 6 = 1 + 2 + 3 + 4 + 5 로 4가지 방법이 있다.

아름다운 건 다다익선이라고 생각하는 상원이는 표현하고 싶은 자연수 N이 얼마나 많은 경우로 표현될 수 있는 지 궁금해졌다.

상원이를 도와서 문제를 해결하자.


[입력]

첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스의 첫 번째 줄에는 표현하고 싶은 자연수 N(1 ≤ N ≤ 106)이 주어진다.


[출력]

각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,

N을 연속된 자연수의 합으로 표현할 수 있는 경우의 수를 출력하라.

입력
4
1
15
42
54321
// 테스트 케이스 개수
// 첫 번째 테스트 케이스, N = 1


// 네 번째 테스트 케이스, N = 54321
 
출력
#1 1
#2 4
#3 4
#4 8
// 첫 번째 테스트 케이스 결과


// 네 번째 테스트 케이스 결과

[코드]

import java.io.*;
import java.util.*;


public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int T = Integer.parseInt(br.readLine());
        for (int t = 1; t <= T; t++) {
            int N = Integer.parseInt(br.readLine());
            int count = 0;
            List<Integer> arr=new ArrayList<>();
            for (int i = 1; i <= N; i++) {
				if(N%i==0&&i%2!=0) {
					count++;
				}
			}        
            System.out.println("#" + t + " " + count);
        }
        br.close();
    }
}