본문 바로가기
Problem Solving/SWEA

[SWEA] 7510. 상원이의 연속 합

by 테리는당근을좋아해 2020. 2. 24.

문제

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

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

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

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

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

 

풀이방법

n을 입력받았을 때 1부터 수를 증가 시켜 더해 n이 되는 수를 완전 탐색한다.

 

소스코드

package samsung;

import java.util.*;

public class s_7510 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int test = sc.nextInt();
		for(int t = 1; t <= test; t++) {
			int n = sc.nextInt();
			int cnt = 0;
			for(int i = 1; i <= n; i++) {
				int sum = 0;
				for(int j = i; j <= n; j++) {
					sum += j;
					if(sum == n) {
						cnt++;
						break;
					}
					else if(sum > n) {
						break;
					}
				}
			}
			System.out.println("#" + t + " " + cnt);
		}
	}
}

 

출처

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWoEzJFa2A4DFARq&categoryId=AWoEzJFa2A4DFARq&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

댓글