All pastes #911182 Raw Edit

Stuff

public text v1 · immutable
·published 2008-02-20 15:34 UTC
rendered paste body
#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int main() {
    //constantes
    float x,ln2,ln,x_work,i;
    int n;
    ln2=0.693147181;
    float pre=0.0001;
    ln=0;
    scanf("%f",&x); //valeur de x

    if(x<=0) {     // x doit être dans IR+*
             printf("error");
             return 1;}

x_work=x; //valeur de travail
n=0;i=1;

    while( x_work >= 2) {  // on déplace x_work dans ]0,2[
           x_work/=2;
           n++;           
           }
x_work--;  // on re-déplace dans ]-1,1[


    //boucle de ln-ation
 while(  (pow(x_work,i+1)/i)>pre) {
                                              
 ln=ln+(pow(-1,i+1)*pow(x_work,i)/i); //formule série entière
                                     
    i++;
    
}
ln+=n*ln2;
printf("\n%f",ln);
    return 0;
    
    
}