📜  算法|杂项|问题7

📅  最后修改于: 2021-06-29 06:19:46             🧑  作者: Mango

考虑下面的C函数。

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; 
}   

对于较大的y值,函数f的返回值最好近似(GATE CS 2003)
(A) x ^ y
(B) e ^ x
(C) ln(1 + x)
(D) x ^ x答案: (B)
说明:函数f()是泰勒级数的实现,用于计算e ^ x

e^x = 1 + x + x^2/2! + x^3/3! + ---

y的值越大,f()将返回e ^ x的精确值。
这个问题的测验