0

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!