Skip to content

Commit 2185a3c

Browse files
committed
[Silver V] Title: 수들의 합 5, Time: 4536 ms, Memory: 32412 KB -BaekjoonHub
1 parent ee1a99f commit 2185a3c

File tree

2 files changed

+51
-0
lines changed

2 files changed

+51
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# [Silver V] 수들의 합 5 - 2018
2+
3+
[문제 링크](https://www.acmicpc.net/problem/2018)
4+
5+
### 성능 요약
6+
7+
메모리: 32412 KB, 시간: 4536 ms
8+
9+
### 분류
10+
11+
수학, 두 포인터
12+
13+
### 제출 일자
14+
15+
2025년 3월 13일 20:11:39
16+
17+
### 문제 설명
18+
19+
<p>어떠한 자연수 N은, 몇 개의 연속된 자연수의 합으로 나타낼 수 있다. 당신은 어떤 자연수 N(1 ≤ N ≤ 10,000,000)에 대해서, 이 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 알고 싶어한다. 이때, 사용하는 자연수는 N이하여야 한다.</p>
20+
21+
<p>예를 들어, 15를 나타내는 방법은 15, 7+8, 4+5+6, 1+2+3+4+5의 4가지가 있다. 반면에 10을 나타내는 방법은 10, 1+2+3+4의 2가지가 있다.</p>
22+
23+
<p>N을 입력받아 가지수를 출력하는 프로그램을 작성하시오.</p>
24+
25+
### 입력
26+
27+
<p>첫 줄에 정수 N이 주어진다.</p>
28+
29+
### 출력
30+
31+
<p>입력된 자연수 N을 몇 개의 연속된 자연수의 합으로 나타내는 가지수를 출력하시오</p>
32+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# 2018 수들의 합 5
2+
# 실버 5
3+
4+
import sys
5+
6+
n = int(sys.stdin.readline())
7+
end = 0
8+
sum = 0
9+
count = 0
10+
11+
12+
for start in range(0, n):
13+
while sum < n and end < n :
14+
sum += end+1
15+
end += 1
16+
if sum == n:
17+
count += 1
18+
sum -= start+1
19+
print(count)

0 commit comments

Comments
 (0)