#include #include using namespace std; //Recursion! //rule for today: no loops. void blastOff(int n) { if (n==0) //Base case: when is problem super easy { cout << "B L A S T O F F!!!!" << endl; } else //Recursive case: problem is big and hard, use recursion! { cout << n << " "; blastOff(n - 1); } } //Return sum of 1+2+...+n int sum(int n) { if (n==1) //Base case { return 1; } else //Recursive case { int subsum = sum(n - 1); return n + subsum; } } int factorial(int n) { if (n==1) //Base case { return 1; } else //Recursive case { return n * factorial(n - 1); } } //Return sum of items array from index start to end. //Assume start<=end double sumArray(double * items, int start, int end) { if (start == end) //Base case { return items[start]; } else //Recursive case { return items[start] + sumArray(items, start + 1, end); } } int main() { blastOff(10); //10 9 8 7 ... 3 2 1 BLASTOFF! cout << endl << endl; blastOff(100); //Challenge #1 int x = sum(20); //add up 1+2+3+...+20 cout << x << endl; //Challenge #2 cout << factorial(5) << endl; //5*4*3*2*1 //Challenge #3: double nums[] = { 17.8, 3.14, 21, 43, 8, 2.1, 41, 13.7, 8.3 }; cout << sumArray(nums, 0, 8); //Challenge #4: //cout << power(3, 4) << endl; //Challenge #5: compute nth fibonacci number //cout << fib(9) << endl; return 0; }