파이썬으로 오일러 수(e) 계산하기
수학에서 가장 중요한 상수 중 하나인 오일러 수 e는 자연로그의 밑으로, 약 2.71828의 값을 가집니다. 파이썬(Python)을 활용하면 다음 공식을 통해 오일러 수의 근사값을 손쉽게 계산할 수 있습니다.
e = 1 + 1/1! + 1/2! + … + 1/n!
구현 과정은 크게 두 단계로 나뉩니다. 첫 번째 단계에서는 팩토리얼을 계산하는 메서드를 정의하고, 두 번째 단계에서는 각 팩토리얼 값의 역수들을 모두 더하는 메서드를 정의합니다.
아래에서 실제 동작 과정을 살펴보겠습니다.
예제 코드
def factorial_result(n):
result = 1
for i in range(2, n + 1):
result *= i
return result
def sum_result(n):
s = 0.0
for i in range(1, n + 1):
s += 1.0 / factorial_result(i)
print(s)
my_value = 5
print("The value is :")
print(my_value)
print("The result is :")
sum_result(my_value)
실행 결과
The value is :
5
The result is :
1.7166666666666668
코드 설명
factorial_result 함수: 정수 'n'을 매개변수로 받아 주어진 숫자의 팩토리얼을 계산합니다. 반복문을 사용해 2부터 n까지의 값을 차례대로 곱한 결과를 반환합니다.
sum_result 함수: 정수 'n'을 매개변수로 받아 1부터 n까지의 범위를 순회하며, 각 팩토리얼의 역수(1/i!)를 누적해 합산한 후 결과를 출력합니다.
함수 호출: 함수 외부에서 값(my_value = 5)을 정의하고, 이 값을 매개변수로 전달하여 sum_result 함수를 호출합니다.
결과 출력: 최종적으로 계산된 값이 콘솔 화면에 표시됩니다.
참고: 더 정확한 근사값 얻기
위 코드는 1/1!부터 1/5!까지만 더하기 때문에 결과가 1.7166…로 나타납니다. 공식의 첫 항인 '1'까지 포함하려면 sum_result 함수 내부의 초기값을 s = 1.0으로 설정하면 됩니다. 이 경우 n=5일 때 약 2.7166…이 되어 실제 오일러 수(≈2.71828)에 한층 가까워지며, n 값을 늘릴수록 근사 정확도가 더욱 향상됩니다.