GATE CSE 2021 Set 2 Q33: Value returned by a subtraction-based recursive function
- Programming and Data Structures
- 1 mark
- NAT
- No negative marking
Question
Consider the following ANSI C function:
int SomeFunction(int x, int y)
{
if ((x == 1) || (y == 1)) return 1;
if (x == y) return x;
if (x > y) return SomeFunction(x - y, y);
if (y > x) return SomeFunction(x, y - x);
}The value returned by SomeFunction(15, 255) is ________.
Try it: numerical answer: type the value
Numerical answer. No negative marking.
Show answer and explanation
Answer: 15 (official GATE 2021 final answer key)
Concept used: Repeated subtraction of the smaller from the larger is Euclid's GCD algorithm.
First step: Subtract 15 from 255 repeatedly: 255, 240, …, 15, at which point .
Full step-by-step solution
Detailed working, common mistakes and linked mock tests will be available with a free GATEiit account. Log-in is coming soon.
Share this question
Source: official GATE 2021 Set 2 CS question paper and final answer key, organised by IIT Bombay. Question paper · Answer key
More Programming and Data Structures PYQs
- 2026 Session 1 · Q23Non-leaf indices in a 1-indexed binary heap with n odd
- 2026 Session 1 · Q24Empty slots after linear-probing inserts with h(x) = (x+7) mod 11
- 2026 Session 1 · Q33Maximum height of a full binary tree with 23 nodes
- 2026 Session 1 · Q34Output of a C function with a shadowed block variable
- 2026 Session 1 · Q39Recursive length of a non-empty singly linked list
- 2026 Session 1 · Q40Third insertion that can never yield a complete BST of 1..15