1.4k views

Consider the following $C$ function.

For large values of $y$, the return value of the function $f$ best approximates

float f,(float x, int y) {
float p, s; int i;
for (s=1,p=1,i=1; i<y; i++) {
p *= x/i;
s += p;
}
return s;
}


1. $x^y$
2. $e^x$
3. $\text{ln} (1+x)$
4. $x^x$
edited | 1.4k views
+1
No need to remember series expansion just use Taylor series for getting expansion of f(x).

The simplified version of above program can be rewritten as
float f(float x, int y) {
float p=1, s=1;
int i;
for (i=1; i<y; i++) {
p = p * (x/i);
s = s + p;
}
return s;
}

we can take p=1,s=1 intialization outside of for loop cz there is no condition checking in for loop involving p,s .

 i p= p * (x/i) s= s + p 1 x 1+x 2 $\frac{x^{2}}{2}$ 1+x+$\frac{x^{2}}{2}$ 3 $\frac{x^{3}}{6}$ 1+x+$\frac{x^{2}}{2}$+$\frac{x^{3}}{6}$ 4 $\frac{x^{4}}{24}$ 1+x+$\frac{x^{2}}{2}$+$\frac{x^{3}}{6}$+$\frac{x^{4}}{24}$ n $\frac{x^{n}}{n!}$ ex

 ex =  xn / n!     = 1+x+$\frac{x^{2}}{2}$+$\frac{x^{3}}{6}$ +$\frac{x^{4}}{24}$+ ...+$\frac{x^{n}}{n!}$

Hence Option B is Ans.

selected

$$\begin{array}{l} i = 1 &\rm then& p = x &\&& s = 1 + x\\[1em] i = 2 &\rm then& p = \frac{x^2}{2} &\&& s = 1+x+\frac{x^2}{2} \end{array}$$

As $y$ tends to infinity, $s$ tends to  $e^x$.

Hence, the correct answer is option B.

edited
0
@Pooja Thanks for compact answers.I have been following your answers. :) just a minute correction needed in the above answer when i=1 p=x.
0

@Pooja Palod good answer but just small improvement, Please put factorial symbol in denominator.

0
if i do with example then e^2 is 7.38 but it gives 5 ... why is this difference ?
+1
@sid1221 :- e^x is an infinite series,so for large value y,if you run,the output will approximate to you answer