Multiple choice

Consider the following C functions:

int f1(int n) {
  If(n == 0 | | n == 1)
  return n;
  else
    return (2 * f1(n - 1) + 3 * f1(n - 2));
}
int f2(int n) {
  int i;
  int X[N], Y[N], Z[N];
  X[0] = Y[0] = Z[0] = 0;
  X[1] = 1;
  Y[1] = 2;
  Z[1] = 3;
  for (i = 2; i <= n; i++) {
    X[i] = Y[i - 1] + Z[i - 2];
    Y[i] = 2 * X[i];
    Z[i] = 3 * X[i];
  }
  Return X[n];
}

f1 (8) and f2 (8) return the values

  1. 1661 and 1640

  2. 1640 and 1640

  3. 59 and 59

  4. 1640 and 1661

Reveal answer Fill a bubble to check yourself
B Correct answer
Explanation