// // example of recursion: // // function to compute factorial // // main (test) program repeatedly prompts for input // #include // precondition: n > 0 // postcondition: returns n factorial int factorial(const int n); // ---- main program ---- int main() { int n; char prompt[] = "Enter a positive integer, or ctrl-D to end:\n"; cout << prompt; while (cin >> n) { if (n <= 0) cout << "Number must be positive!\n"; else cout << "factorial(" << n << ") = " << factorial(n) << endl; cout << prompt; } return 0 ; } // ---- function definition ---- int factorial(const int n) { if (n == 1) return 1; else return n * factorial(n-1); }