Example: exponentiation
pow(x,n)//computes xn
{
if (n <= 0) return 1;
if (even(n)) return (pow(x, n/2) * pow(x,n/2));
else return (x * pow(x, n/2) * pow(x,n/2));
}
pow(x,n)//computes xn
{
if (n <= 0) return 1;
float tmp = pow(x, n/2);
tmp = tmp * tmp;
if (even(n)) return tmp;
else return (x * tmp);
}
pow(float x,int n)//computes x to the nth power (n >= 0)
{
if (n <= 0) return 1;
return x * pow(x, n-1);
}
Previous slide
Next slide
Back to first slide
View graphic version