What value does function sum return when called with a value of 5?

int sum (int n) {
   if (n < 1) return 1;
   else return n + sum(n - 1) + sum(n - 2);
}


Solution

We have to find the value of sum(1), sum(2), sum(3), sum(4) and sum(5)
sum(1) = 1 + sum(0) + sum(-1) = 1 + 1 + 1 = 3
sum(2) = 2 + sum(1) + sum(0) = 2 + 3 + 1 = 6
sum(3) = 3 + sum(2) + sum(1) = 3 + 6 + 3 = 12
sum(4) = 4 + sum(3) + sum(2) = 4 + 12 + 6 = 22
sum(5) = 5 + sum(4) + sum(3) = 5 + 22 + 12 = 39
So, 39 is the answer



blog comments powered by Disqus

Sister Sites: GATE Overflow, GATE CSE Wiki, GATE CSE, Aptitude Overflow

This work is licensed under the CC By-SA 3.0 , without all the cruft that would otherwise be put at the bottom of the page.