Programa en C que calcula raíces cúbicas
Un par de días antes de que mis vacaciones en los Pirineos finalizaran, mi padre me explicó cómo resolver raíces cúbicas a mano empleando un curioso método que consiste en descomposición en sucesivas raíces cuadradas. Para que nos entendamos:
3√a = a^(1/3) = a^(4/12) = a^(1/12) * a^(3/12) = a^(1/12) * a^(1/4) = √(√(a)) * a^(1/12)
De este modo, y realizando el mismo procedimiento sucesivamente (en este caso, habría que volver a hacerlo con el elemento a^(1/12) ), nos iremos aproximando cada vez más y más al resultado real. Cuanto mayor sea el denominador de la potencia que no podemos calcular a mano, más se aproximará el valor del elemento a 1, y mejor será la estimación.
El código está basado en este principio, así como en una sucesión en la que reparé al realizar los cálculos a mano. En algún sitio hay un pequeño fallo que subsané sumando 2 a una variable, pero no tuve las ganas suficientes de rastrearlo a lo largo de las más de 10 carillas que rellené pensando en esto.
Y aquí está el código, yo lo he compilado empleando gcc en Ubuntu, pero para gustos, colores: