Evaluate the following:
int fn(int v)
{
if(v==1 || v==0)
return 1;
if(v%2==0)
return fn(v/2)+2;
else
return fn(v-1)+3;
}
for fn(7);
1) 10
2) 11
3) 1
Answer Posted / anju nair
the answer is : 11
solution :
since v=7
initially f(6)+ 3 is executed ( being a recurrsive
function) fn is again called with v=6 and the return now
is f(3) + 2 and again fn is called with v=3 and the return
now is f(2) +3 and again fn is called with v=0.now
recurrsion ends since f(0) is 1
f(0)=1
f(0)+2=3
f(2)=f(0)+2=1+2
f(2)+3=6
f(3)=f(2)+3=6
f(3)+2=6+2=8
f(6)=f(3)+2=8
f(6)+3=8+3=11
f(7)=f(6)+3
f(7)=11
now v hav to back track and keep adding
1+2+3+2+3 = 11.
| Is This Answer Correct ? | 14 Yes | 1 No |
Post New Answer View All Answers
How can I convert a number to a string?
Can a variable be both const and volatile?
What is wrong with this code?
What is difference between structure and union in c?
a direct address that identifies a location by means of its displacement from a base address or segment a) absolute address b) relative address c) relative mode d) absolute mode
Explain what is the difference between text files and binary files?
Where are the auto variables stored?
The program will first compute the tax you owe based on your income. User is prompted to enter income. Program will compute the total amount of tax owed based on the following: Income Tax 0 - $45,000 = 0.15 x income $45,001 - $90,000 = 6750 + 0.20 x (income – 45000) $90,001 - $140,000 = 15750 + 0.26 x (income – 90000) $140,001 - $200,000 = 28750 + 0.29 x (income – 140000) Greater than $200,000 = 46150 + 0.33 x (income – 200000) Dollar amounts should be in dollars and cents (float point numbers with two decimals shown). Tax is displayed on the screen.
What is formal argument?
why wipro wase
Why is c called a mid-level programming language?
What is memcpy() function?
Why array is used in c?
How can I determine whether a machines byte order is big-endian or little-endian?
Can include files be nested?