Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬으로 자연수의 합 구하기: while문, for문, sum() 함수 3가지 방법

파이썬에서 자연수의 합을 구하는 방법은 여러 가지가 있습니다. 이 글에서는 while 반복문, for 반복문, 그리고 내장 함수 sum()을 활용하는 세 가지 방법을 예제 코드와 함께 살펴봅니다.

1. while 반복문으로 자연수의 합 구하기

while 반복문을 사용하면 변수 i의 값을 하나씩 증가시키면서 그 값을 누적하여 더할 수 있습니다.

s, i = 0, 0
n = 10
while i < n:
    i = i + 1
    s = s + i
print("sum of first 10 natural numbers", s)

이 코드는 변수 i를 1부터 10까지 하나씩 증가시키며 각 값을 s에 누적합니다. 반복이 끝나면 첫 10개 자연수의 합인 55가 출력됩니다.

2. for 반복문으로 자연수의 합 구하기

for 반복문과 range() 함수를 함께 사용하면 일정 범위의 자연수를 순회하면서 누적으로 더할 수 있습니다.

s = 0
for i in range(11):
    s = s + i
print("sum of first 10 natural numbers", s)

range(11)은 0부터 10까지의 숫자를 생성하므로, 결과적으로 1부터 10까지의 자연수가 모두 더해집니다.

3. 내장 함수 sum()으로 자연수의 합 구하기

마지막으로 파이썬의 내장 함수인 sum()을 사용하면 반복문 없이 한 줄로 간단하게 합계를 구할 수 있습니다.

s = sum(range(11))
print("sum of first 10 natural numbers", s)

sum() 함수는 반복 가능한 객체(여기서는 range 객체)의 모든 요소를 더해 반환합니다. 가장 간결하고 파이썬다운(Pythonic) 방식입니다.

보너스: 수학 공식 활용하기

반복문 없이 등차수열의 합 공식 n(n+1)/2를 사용하면 상수 시간(O(1))에 결과를 얻을 수 있어, 매우 큰 n 값에도 효율적입니다.

n = 10
s = n * (n + 1) // 2
print("sum of first 10 natural numbers", s)

정리

세 가지 방법 모두 동일한 결과인 55를 출력합니다. 코드의 간결성이 중요하다면 sum() 함수를, 대규모 연산에서 성능이 중요하다면 수학 공식을 활용하는 것이 좋습니다. 초보자라면 반복문의 동작 원리를 익히기 위해 while문과 for문 예제부터 직접 실행해 보는 것을 추천합니다.