Anyone know how to do this question?
Use recursion to implement the following recurrence relation f(x):
f(x)=1 where =1
f(x) = f((x+1)/2) +1 where x is odd
f(x) = f(x/2) +1 where x is even
This is what i did:
#include<stdio.h>
int func (int x)
int main()
{
int x;
printf("Please enter the value of x: ");
scanf("%d", &x);
int func=func(x);
printf("%d",func) ;
return 0;
}
int func (int x)
{
if(x==1)
return 1;
else if (x%2 ==1)
return func ( (x+1)/2 ) + 1;
else
return func (x/2) + 1;
}
But it doesnt work.
Could you please kindly explain how a recursion work as well?
Thank youuuuu!