pascal 问题 exp
来源:百度知道 编辑:UC知道 时间:2024/05/11 13:43:43
计算多项式的值exp(x)=1+x+(x^2)/(2!)+(x^3)/(3!)+……(x^i)/(i!)
(abs((x^i)/(i!))<=10^-10)
不能用该函数直接表示,用while和if语句循环达到
用高手请指教3Q!!!!!!!!!!!!!!!!~~~~~~~~~~~~
(abs((x^i)/(i!))<=10^-10)
不能用该函数直接表示,用while和if语句循环达到
用高手请指教3Q!!!!!!!!!!!!!!!!~~~~~~~~~~~~
var i,k:integer;
n,m,x,x1,temp,j:real;
begin
readln(n);
j:=1;
for i:=1 to 10 do j:=j*10;
j:=1/j;
i:=0;
m:=1;
while true do
begin
inc(i);
x:=n;
x1:=1;
for k:=2 to i do begin x:=x*n;x1:=x1*k; end;
temp:=x/x1;
if temp<j then break;
m:=m+x/x1
end;
writeln(m,exp(n));
end.
//结果和EXP(X)的结果差不多
//但是X不能很大
//调试成功