Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

c) What the function f_c(n) do ? where n is a positive integer. Hint : don not i

ID: 3937392 • Letter: C

Question

c) What the function f_c(n) do ?

where n is a positive integer.

Hint: don not interprete this question as explaining each line of the code, without understanding what the piece of code does as a whole. (explain at a higher level of abstraction).

int f_c1(a, b, n);

int f_c(int n) {

return f_c1(1, n, n);

}

int f_c1(a, b, n) {

int c = (a + b) / 2;

if ( a == b || a == b-1 )

return a;

if ( c*c*c > n)

return f_c1(a, c, n);

return f_c1(c, b, n);

}

--------------------------------------------------------------------------------------------------------------------------

and then draw the stack activation records when function is executed for ret = f_c(100);

for the rst three calls to f_c1. Since you are to submit your answer as a-text file, use

so-called ASCII graphics, which should look like the following

Lc1(c-4,p=7,n=100) -cco I lt_c1(a-LCx7,n=100) I f_c1(a=1.c=13,n=100) I f_c1(a-LC-25,n=100) l t_c1(a-LC-50,n=100) If_c1(a=1,p=100,n=100) l fc(n-100) | main I f_c1(a=1c=7,n=100) cacc uacauuca I cacocouacauuca

Explanation / Answer

#include <iostream>
using namespace std;

int f_c1(int,int,int);

int f_c(int n)
{

return f_c1(1, n, n);

}

int f_c1(int a,int b,int n)
{

int c = (a + b) / 2;

if ( a == b || a == b-1 )

return a;

if ( c*c*c > n)

return f_c1(a, c, n);

return f_c1(c, b, n);

}

int main()
{
int ret = f_c(100);
cout<<"ret ="<<ret;
return 0;
}

output:

ret =4

In f_c1() , the value of argument b is halved until it becomes equal to a or a+1 .

return 4 f_c1(a=4,c=5,n=100) f_c1(c=4,b=7,n=100) f_c1(a=1,c=7,n=100) f_c1(a=1,c=13,n=100) f_c1(a=1,c=25,n=100) f_c1(a=1,c=50,n=100) f_c1(a=1,b=100,n=100) f_c(n=100) main
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote