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

파이썬으로 사인(sine) 급수의 합 구하기


값 x가 주어졌을 때 사인(x) 급수의 합을 계산하는 문제를 생각해 봅시다. 사인(x) 급수는 다음과 같이 여러 개의 항으로 구성된 무한급수입니다.

sine(x) = x− x^3/fact(3) + x^5/fact(5) −x^7/fact(7)....

이러한 급수 기반 문제를 해결하려면 먼저 각도(degree)를 입력받아 라디안(radian) 값으로 변환해야 합니다. 그다음 급수의 모든 항을 순회하면서 각 항을 계산하고, 항마다 부호를 번갈아 적용하며 연산을 수행해 전체 합을 구합니다.

문제 해결 접근 방법

  • 계산할 항의 개수(한계)와 각도를 입력받습니다.

  • 거듭제곱 함수(pow)를 활용해 각 항을 순회하면서 합을 계산합니다.

  • 최종 결과를 출력합니다.

예제 코드

n = 5
deg = 10
deg = deg*3.14/180
p=1
f=1
s=deg
sine=−1

for i in range(3,n+1,2):
   deg = deg*sine
   p = pow(deg,i)
   f = f*i*(i−1)
   s = s+p/f

print("The sum of the series of sine(10) is:", s)

코드 동작 원리

  • 입력받은 각도에 3.14/180을 곱해 라디안 값으로 변환합니다.

  • 변수 sine은 -1로 초기화되어 각 항을 계산할 때마다 부호를 번갈아 바꾸는 역할을 합니다.

  • f는 팩토리얼(fact) 값을 누적으로 곱해 계산하고, p는 해당 차수의 거듭제곱 값을 저장합니다.

  • range(3, n+1, 2)를 사용해 3차, 5차 항처럼 홀수 차수의 항만 반복 계산합니다.

실행 결과

위 코드 스니펫을 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

The sum of the series of sine(10) is: 0.17356104142876477