rendered paste body#include <stdio.h>
#include <stdlib.h>
#define lim 0.0001
int cont=0;
float encontrarRaiz(float x);
int main(){
//x³-9x+3 dividido por 3x²-9
//Xo=0,5.. E1=E2=10 elevado a menos 4
encontrarRaiz(0.00005);
return 0;
}
float modulo(float x){
if (x>=0.0){
return (x);}
else{
return (-1.0*x);}}
float encontrarRaiz(float x){
float a,fx,dfx,b;
int i=0;
if(x<=lim){
printf("\nValor inválido: %f\n",x);
}else{
fx = (((x*x*x)-(9*x))+3);
dfx = (3*(x*x)-9);
a = x - (fx/dfx);
a = modulo(a);
if(x==a){
printf("\nIterações: %i\n",cont);
printf("\nraiz: %.25f\n\n",a);
exit(0);
}else{
//printf("func: %.25f\n",a); 0 /* apenas para debug */
cont++;
encontrarRaiz(a);
}
}
}