// This program computes a(n) = a(n-1) + 3n for n = 0..10, a(0) = 1; // The output is a(n) for n = 0..10. #include int rec (int); int mult3 (int); int main () { int n = 0; int a_n; while (n <= 10) { a_n = rec (n); printf ("%4d 0x%08x\n", a_n, a_n); n++; } } int rec (int i) { int ret; int rec_val; int i3; if (i == 0) ret = 1; else { rec_val = rec (i - 1); i3 = mult3 (i); ret = rec_val + i3; } return ret; } int mult3 (int z) { int ret; ret = z; ret += z; ret += z; return ret; }