recategorized by
616 views
5 votes
5 votes

Consider the following pair of mutually recursive functions.

int f(int n){
    if (n==0) return 1;
    return f(n-1)+g(n-1);
}
int g(int n){
    if (n==0) return 1;
    return g(n-1) - f(n);
}

Which of the following is/are will evaluate to TRUE?

  1. $f(2) == g(0)$
  2. $g(2)+f(1) == 0$
  3. $g(4)+g(1) == 0$
  4. $f(3)+f(0) == 0$
recategorized by

3 Answers

5 votes
5 votes
We can write ,

$f(n)=f(n-1)+g(n-1) $ , ………..(1)

$f(0)=1$

$g(0)=1$

$f(1)=f(0)+g(0)=1+1=2$

$g(n)=g(n-1)-f(n)$ ,  $g(0)=1$

$g(n)=g(n-1)-f(n)$

$g(n)=f(n)-f(n-1)-f(n)$      [as ,from (1) we get $g(n-1)=f(n)-f(n-1)$]

$g(n)=-f(n-1)$ ; $n\geq 1$

$g(n-1)=-f(n-2)$ ; ………….(2)

Putting this in (1) we get ,

$f(n)=f(n-1)-f(n-2)$ $n\geq 2$

$f(0)=1$, $f(1)=2$

$f(2)=f(1)-f(0)=2-1=1$

$f(3)=f(2)-f(1)=1-2=-1$

$g(1)=-f(0)=-1$

$g(2)=-f(1)=-2$

$g(3)=-f(2)=-1$

$g(4)=-f(3)=1$

Now if you checked all the option are correct.
1 votes
1 votes

$f(0) = 1$;   $g(0) = 1$.

$f(1) = 2$;   $g(1) = -1$.

$f(2) = 1$;   $g(2) = -2$.

$f(3) = -1$;   $g(3) = -1$.

$f(4) = -2$;   $g(4) = 1$.

Answer : – A, B, C, D.

1 votes
1 votes

Answer : A,B,C,D

$f(0) = 1$

$g(0) = 1$

$f(1) = f(0)+g(0) = 2$

$g(1) = g(0)-f(1) = 1-2 = -1$

$f(2) = f(1)+g(1) = 2-1 = 1$

$g(2) =  g(1)-f(2) = -1-1 = -2$

$f(3) = f(2)+g(2) = 1-2 = -1$

$g(3) =  g(2)-f(3) = -2+1 = -1$

$f(4) = f(3)+g(3) = -1-1 = -2$

$g(4) =  g(3)-f(4) = -1 + 2 = 1$

  1. $f(2) == g(0)$ $TRUE$
  2. $g(2) + f(1) = -2+2 = 0$ $TRUE$
  3. $g(4) + g(1) = 1-1 = 0$ $TRUE$
  4. $f(3) + f(0)  = -1+1 = 0$ $TRUE$

 

Answer:

Related questions

2 votes
2 votes
3 answers
2
4 votes
4 votes
3 answers
4
GO Classes asked Aug 6, 2022
679 views
Consider the following declaration of variables $a$ and $b.$int a = 1, b = 0;Which of the following is/are will evaluate to TRUE?b++ && b == ab++ && a == 0a || b == aa |...