Python/Python Basic

파이썬 합 구하기 (재귀 함수, 합 공식, 반복문) - 공부하는 도비

DOVISH WISDOM 2021. 2. 27. 15:12  
728x90
반응형

오늘은 다양한 방법으로 입력된 값에 대한 합을 구해볼게요.

 

1. 재귀 함수 사용

def Sum1(data):                     
    if data <= 1:
        return data
    else:
        return data + Sum1(data-1)

print(Sum1(10))

 

 

2. 합 공식 사용

 

합 공식 : (n *(n+1) //2) 

def Sum2(data):
	return (data * (data + 1) // 2)

print(Sum2(10))

 

 

 

3. 반복문 사용

while 문 이용

def Sum3(data):                    
    sum = 0
    while data > 0:
        sum = sum + data
        data = data - 1
    return sum        

print(Sum3(10))

 

총 3가지 방법으로 파이썬 합 구하는 법을 알아봤습니다.

어떤 알고리즘이 좋은 지에 대해 100%로 단정 지어 이야기할 수는 없지만, 

 

data 즉 n 이 커지면 커질 수 록, 재귀함수나 반복문을 사용한 경우 시간 복잡도가 O(n)이지만,

수학 공식을 이용해서 프로그램을 짜면 아무리 숫자가 커져도 시간 복잡도는 O(1), 상수 시간이 소요됩니다.

 

하지만 복잡한 알고리즘을 구성할 때는 재귀 함수만큼 편리한 것도 없기 때문에 재귀 함수를 제대로 공부하는 걸 추천드립니다.

반응형