c·c++/c 프로그래밍

테일러 급수를 사용해서 파이 의 근사치를 구하기.

바로이순간 2012. 5. 29. 07:56

테일러 급수를 사용해서 파이 의 근사치를 내는 과제 입니다.

 

이 두개의 공식을 프로그램해서 각각 몇개의 항(項)이 있어야 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