• edited by
1,504 views
0 0 votes
rec(int x)
{
    static int f;
    if(x==1)
    return 1;
    else
    f+=x*rec(x-1);
    return(f);
}

the value returned by rec(5) is_____________

2 Answers

Best answer
2 2 votes
initially  f should be initialized to 0

so f=0

function f=f+x*rec(x-1)

rec(1)=1

f(2)=0+2*rec(1)=2

f(3)=2+3*rec(2)=8

f(4)=8+4*rec(3)=40

f(5)=40+5*rec(4)=240

s0 f returns 240
• selected by
3 3 votes
rec(5)-> f=f+(5*rec(4))=240

rec(4)->f=f+(4*rec(3))=40

rec(3)->f=f+(3*rec(2))=8

rec(2)->f=f+(2*rec(1))=2

rec(1)=1

so answer of rec(5) is 240
Position:
Show:

Related questions

1 1 vote
1 1 answer
337
337 views
khanshahima4 asked Sep 24
337 views
1. If precedence tells me which operator has priority, and associativity tells me how to handle operators at the same level, then why do I need a separate concept called ...