



 
Hi Tim. I hope I understand what you are trying to accomplish. I will proceed with the assumption n is a nonnegative integer. var p = a; // let p represent the product for (; n>0; n) { p = p^2; } print p; This code uses the hint. When n = 0, then p = a^(2^0) which is a^1, so we start at p = a. For each higher value of n, the product is squared again. That's what is implied by the hint a^(2^(n+1)) = (a^(2^n))^2. So this little snippet of code uses a decrement loop such as one it sounds like you were leaning toward. However, the code above is not recursive; rather, it is iterative. So here's a less obvious bit of code that is recursive: // calculate p = a^(2^n) using a function that is recursive. p = f(a,n); function f(a,n) { if (n > 0) { var i = f(a,n1); // get the value for n1 return i*i; // and square it because a^(2^n) = [ a^(2^(n1)) ]^2 } else { return a; // because a^(2^0) = a } } Hope this helps,  


Math Central is supported by the University of Regina and The Pacific Institute for the Mathematical Sciences. 