OA. free
Free
Accenture Core Computer Science Core Computer Science Medium

You are teaching beginners A, B, C at your company.

Accenture technical mcq question, verified with a worked answer. Free to practise - no sign-up.

You are teaching beginners A, B, C at your company. The beginners wrote the following functions. These functions receive an array of integers a and outputs the sum of all elements in array a.

Choose all functions that work properly. At least 1 function works properly.

Beginner A

function sum(a) {
    let answer = 0;
    for (let i = 0; i < a.length; i++) {
        answer += a[i];
    }
    return answer;
}

Beginner B

function sum(a) {
    let answer = 0;
    for (let i = a.length; i > 0; i--) {
        answer += a[i];
    }
    return answer;
}

Beginner C

function sum3(a) {
    let answer = 0;
    let i = 0;
    while (i) {
        if (i == a.length) {
            break;
        }
        answer += a[i];
        i++;
    }
    return answer;
}
Choose one option.
Show answer & explanation
Answer: A. Beginner A's function

Beginner A's function correctly iterates through the array from index 0 to length-1 and sums all elements. Beginner B has an off-by-one error: the loop starts at i = a.length and accesses a[i], which is out of bounds (arrays are 0-indexed). Beginner C's loop never executes because i is initialized to 0, and while (i) evaluates to while (0) which is false.

Step-by-step Derivation:
Trace execution for array [1, 2, 3]:

Beginner A: i=0 (answer=1), i=1 (answer=3), i=2 (answer=6), returns 6 ✓

Beginner B: i=3 (a[3] undefined), i=2 (a[2]=3, answer=3), i=1 (a[1]=2, answer=5), i=0 (a[0]=1, answer=6), but a[3] is undefined and NaN propagates ✗

Beginner C: while (i=0) is false, loop never runs, returns 0 ✗