Recursion

AP Computer Science A· difficulty 2/5

public static int sumRec(int n) {
    if (n == 0) return 0;
    return n + sumRec(n - 1);
}
public static int sumIter(int n) {
    int s = 0;
    for (int i = 1; i <= n; i++) s += i;
    return s;
}

Which is true?

  • A

    Iteration cannot solve this

  • B

    They produce different sums

  • C

    Recursive version uses less memory

  • D

    Both compute the same result; iteration uses less stack

    check_circle

Explanation

Both sum 1..n. Recursion creates O(n) stack frames; iteration uses O(1) stack.

Want 10 more like this — adaptive to your weak spots?

Related questions