Código fuente EPS
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));
}