테일러 급수를 사용해서 파이 의 근사치를 내는 과제 입니다.
이 두개의 공식을 프로그램해서 각각 몇개의 항(項)이 있어야 error 가 5*10^-8 보다 적게 나오는지를 계산해야합니다.
error 계산 하는 코드도 같이 넣어서 올려주시면 감사하겠습니다!!
#include <math.h>
#include <stdio.h>
double taylor1() {
double x, y, z, pi, eps=5.0*pow(10.0,-8.0);
int i=0;
x=1.0;y=1.0;z=1.0;pi=1.0;
while(z>eps) {
y=y+2.0;x=-x;z=1.0/y;
pi=pi+x*z;
i=i+1;
}
printf("iteraton: %d\n", i);
return 4.0*pi;
}
double taylor2() {
double r, x, y, z, pi, eps=5.0*pow(10.0,-8.0);
int i=0;
x=1.0;y=1.0;z=r=pow(3.0,-0.5);pi=r;
while(z>eps) {
y=y+2.0;x=-x;z=pow(r,y)/y;
pi=pi+x*z;
i=i+1;
}
printf("iteraton: %d\n", i);
return 6.0*pi;
}
int main() {
double pi1, pi2;
pi1=taylor1();
printf("pi1=%16.14f\n", pi1);
pi2=taylor2();
printf("pi2=%16.14f", pi2);
return 0;
}
'c·c++ > c 프로그래밍' 카테고리의 다른 글
단어의 갯수 세기 (0) | 2012.05.30 |
---|---|
배너 옮기기 (0) | 2012.05.30 |
공백이 포함된 문자열을 묶음으로 읽기 (0) | 2012.05.27 |
A부터 Z까지 출력과 지우기를 무한반복하기 (0) | 2012.05.25 |
정수의 점화식 (0) | 2012.05.25 |