#include using namespace std; //this function will calculate base raised to the power exp, recursively //in our example, base = 2, exp = 4, 2 raised to exp 4 = 16 int pow(int base, int exp) { //if (exp<1) // error! if(exp ==1) return base; else return pow(base, exp-1)*base; } int iterativePow(int base, int exp) { int answer=1; for(int i = 1; i <= exp; i++) { answer *= base; } return answer; } int factorial(int n) { //error if n<0 //base case: if (n == 0 ) return 1; else return n * factorial(n-1); } int fibonacci(int n) { if(n==0) //base case return 0; else if (n==1) //base case return 1; else return fibonacci(n-1)+fibonacci(n-2); } //answer to exercise 5 in book //recursive multiplication int mult(int x, int y) { //problem: if x < 1 //base case if (x==1) return y; else return y + mult(x-1, y); } int main() { int ans=pow(2, 4); cout<<"2 raised to the power of 4 = " << ans<<" (recursively)"<