Write pow(n, k) function of the math library iteratively and recursively.double PowerIterative(int n, int k)
{
if (k == 0)
return 1;
bool neg = k > 0 ? false : true;
k = abs(k);
double ret = 1;
while (k > 0)
{
ret *= n;
k--;
}
if (neg)
ret = 1.0 / ret;
return ret;
}
double PowerRecursive(int n, int k)
{
if (k > 0)
return PowerRecursiveHelper(n , k);
return 1.0 / PowerRecursiveHelper(n , k * -1);
}
int PowerRecursiveHelper(int n, int k)
{
if (k == 0)
return 1;
if (k == 1)
return n;
return n * PowerRecursive(n , k - 1);
} |