Red de conocimiento informático - Aprendizaje de programación - Código fuente EPS

Código fuente EPS

Lo siguiente se calcula utilizando una de las dos series (basada en el rango de la variable independiente).

Si desea comparar los resultados de la biblioteca matemática, puede incluir math.h y la salida log(x).

Usted mismo puede aumentar o disminuir las condiciones de juicio para puntos especiales. No lo pensé detenidamente.

===========================================

# include ltstdio.h gt

//# include lt; math.h gt

double log_n(double x){

Doble y, término, r;

Doble EPS = 1e-10;

int I;

if(x lt; = 0.0){ printf(" x debe gt; 0 \n "); salir (0); };

if (x lt; eps amp ampx gt-eps) devuelve 0;

y = (x -1)/x;

término = y; r = y;

for(I = 2;ilt1000;i){

término = término * y/I *(I-1);

//printf("term=lf\n ",term);

if(term gt;-EPS amp; ampterm lteps ) roto;

r = r artículo

};

devolver

}

Doble sigma (doble y){

Doble x;

Término doble, n1= -1, r=0, t, EPS = 1e-10;

int I;

if(y lt;eps amp ampy gt-EPS){ printf(" x debe gt;0 \n "); salida(0);};

if (y gt-1 amp; ampy lt=1){

x = y-1;

término = x;

r = x <; /p>

for(I = 2;ilt1000;i){

término = término * x * n 1;

t =término/I;

p>

if(t lt; eps ampt gt-eps) roto

r = r t

}; r;

}De lo contrario {

r = log _ n(y

return r; >

}

main(){

Doble x, y

printf(" entrada x \ n "); p>scanf ("lf ", ampx);

// printf("lf lf\n ", sigma(x), log(x));

printf(" lf\n ",sigma(x));

}