关于巴比伦算法的 三个程序

分析:关于巴比伦算法的 三个程序

关于巴比伦算法的 三个程序

//巴比伦algorithm

#include <stdio.h>
#include <stdlib.h>
#define  true  1
#define  false 0

int main(int argc, char **argv)
{
    int n = 0;
    scanf("%d", &n);
    double guess = n / 2;
    double tmp = guess;

    while(true)
    {
        double r = n / guess;
        guess = (guess + r) / 2;
        if(abs(tmp - guess) / tmp < 0.001)
        {
            break;
        }
        tmp = guess;
    }
    printf("%lf\n", guess);
    system("pause");
}
*/
/*
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    double g,t,r;
    int n=0;   //注意这里的n

    scanf("%d",&n);
    g=n/2;
    t=g;

    while (1){
        r=n/g;
        g=(g+r)/2;
        if((abs(t-g)/t)<0.001)
            break;
        t=g;
    }
    printf("%lf",g);

    return 0;
}
*/
#include<stdio.h>
#include<stdlib.h>

int main(int argc, char *argv[])
{
    float new_guess;
    float last_guess;
    float number;

    printf( "Enter a number: " );
    scanf( "%f", &number );
    if(number < 0)
    {
        printf( "cannot compute the square root of"
                "a negative number!\n" );
        return EXIT_FAILURE;
    }

    new_guess = 1;
    do{
        last_guess = new_guess;
        new_guess = ( last_guess + number / last_guess ) / 2;
        printf( "%.15e\n", new_guess );
    }while( new_guess != last_guess );

    printf( "square root of %g is %g\n", number, new_guess );
    return EXIT_SUCCESS;

}

一个自己写的  一个复制别人的 谢谢 交流