#include <stdio.h>
#include <math.h>
int root( int A, int n )
{
int ret, s;
ret = 1; /* Initial guess */
s = 1;
for ( ; ; )
{
ret = ( ( n - 1 ) * ret + ( A / ( int )pow( ret, n - 1 ) ) ) / n;
if ( s == ret )
{
break;
}
else if ( s != ret - 1 )
{
s = ret;
}
}
return ret;
}
int main( int argc, char* argv[] )
{
printf( "%ith root of %i = %i\n", 4, 103, root( 103, 4 ) );
return 0;
}