Witam, w programie do obliczania pierwiastków równania potrzebuję użyć pierwiastka 3 stopnia, problem polega na tym, że poprzez pow(8,(1/3)) (przykład) wychodzi mi 1 zawsze przez co zawsze wychodzą mi bzdurne wyniki, kod programu:
#include <stdio.h>
#include <math.h>
float obl(float x, int i)
{float c=1/3,d;
if(i>1){
d=pow(obl(x,i-1),(c));
x= pow(1000,c);
x=x-d;
return x;}
else return x=10;
}int main()
{float x=1;
float i=7; //dokladnosc, im wiecej tym lepiej
x=obl(x,i);
printf("%f\n",x);
return 0;
}
Wiem że w funkcji rekurencyjnej można to spokojnie skrócić, ale szukając błędu stosowałem już różne próby. Pozdrawiam.