Open In App

GATE | GATE CS 2018 | Question 44

Like Article
Like
Save
Share
Report

Consider the following program written in pseudo-code. Assume that x and y are integers.

Count (x, y) {
    if (y !=1 ) {
        if (x !=1) {
            print("*");
            Count (x/2, y);
        }
        else {
            y=y-1;
            Count (1024, y);
        }
    }
}

The number of times that the print statement is executed by the call Count(1024, 1024) is _______ .

Note –This was Numerical Type question.
(A) 10230
(B) 10
(C) 1023
(D) 23010


Answer: (A)

Explanation: Firstly, Count(1024, 1024) will be called and value of x will be deducted by x/2. ‘x’ will be printed 10 times. On count=10, value of x will become 1.
gate_cs_2018_c

Since x=1, inner else loop will start executing. On each call value of y will be decreased by 1 and will be executed until value of y becomes 1 (which is on 1023th call).

Since count() is called recursively for every y=1023 and count() is called 10times for each y. Therefore, 1023 x 10 = 10230

Answer is 10230.


Quiz of this Question


Last Updated : 09 Mar, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads