Consider the function int fun(x: integer) { If x > 100 then fun = x – 10; else…

2017

Consider the function

int fun(x: integer)
{
If x > 100 then fun = x – 10;
else
fun = fun(fun(x + 11));
}

For the input x = 95, the function will return

Answer: C. 91This problem describes the McCarthy 91 function. For any input x less than or equal to 100, the function recursively calls itself until the argument exceeds…

  1. A.

    89

  2. B.

    90

  3. C.

    91

  4. D.

    92

Attempted by 428 students.

Show answer & explanation

Correct answer: C

This problem describes the McCarthy 91 function. For any input x less than or equal to 100, the function recursively calls itself until the argument exceeds 100. Starting with x = 95, the function evaluates fun(95) as fun(fun(106)). Since 106 > 100, the inner call returns 96. The expression simplifies to fun(96). This process repeats, effectively incrementing the input by 1 each step (fun(95) -> fun(96) -> ... -> fun(100)). When x reaches 100, the function computes fun(fun(111)), which becomes fun(101), returning 91. Therefore, for all inputs x <= 100, the function returns 91.

Explore the full course: Iocl Engineers Officers Grade A Paper 2

Loading lesson…