Python/45가지 파이썬 기초문법 예제

파이썬 (16) - 시그마 계산

monstro 2025. 4. 27. 20:49
728x90
반응형

수학에서의 계산방식 중 하나인 Sigma를 계산하는 사용자 정의 함수를 만들어본다

Sigma에 관한 정보는 다음의 링크로 대체한다

https://ko.wikipedia.org/wiki/%EA%B8%89%EC%88%98_(%EC%88%98%ED%95%99)

 

급수 (수학) - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 수학에서 급수(級數, 영어: series, ∑an)는 수열의 모든 항을 더한 것, 즉 수열의 합이다. 항의 개수가 유한한 유한급수(有限級數, 영어: finite series)와 항의 개수가

ko.wikipedia.org

 

1) 첫 번째 방식 - for문을 사용

def sigma1(num):
    ret = 0
    for i in range(num+1):
        ret = ret + i
    return ret

 

함수내에서 사용하는 지역변수를 하나 생성한다

생성한 지역변수는 연속된 수열의 합을 저장하고 반환된다

0부터 인자로 들어온 값을 range 함수를 통해 생성하여 반복하여 지역변수에 더한다

 

10을 넣었을 경우 최종실행 결과는 다음과 같다

 

2) 두 번째 방식 - Sigma 공식을 적용

def sigma2(num):
    return num * (num + 1) // 2

 

Sigma에 일반 정수를 사용하는 경우의 공식을 사용하여 결과값을 반환한다

첫 번째 방식과 다르게 불필요한 지역변수의 생성과 반복문을 사용하지 않아 효율이 좋다

 

10을 넣었을 경우 최종실행 결과는 다음과 같다

 

3) 세 번째 방식 - sum 메서드를 사용

def sigma3(num):
    return sum(range(num+1))

 

마지막으로 sum 메서드를 사용하여 시퀀스형 자료구조의 인덱스를 전부 더하는 방식을 사용한다

첫 번째 방식과 다르게 불필요한 변수를 생성하지 않아도 되지만,

sum 메서드의 내부에서 반복문을 수행하므로 두 번째 방식에 비해서는 효율이 떨어진다

 

10을 넣었을 경우 최종실행 결과는 다음과 같다

 

728x90
반응형