永发信息网

如何解决这个程序的溢出问题

答案:1  悬赏:70  手机版
解决时间 2021-12-31 22:46
  • 提问者网友:像風在裏
  • 2021-12-31 10:19
编程序计算:1-1/3!+1/5!-1/7!+...(-1)^n-1(1/2n-1)
程序代码如下:
dim i as integer,f as integer,s as single,t as single
i=0
s=0
t=1
f=1
do while t>0.000001
s=s+f/t
i=i+1
t=t*(2*i)*(2*i+1)
f=-f
loop
print "计算了";i;"项,其结果是";
end
最佳答案
  • 五星知识达人网友:孤独入客枕
  • 2022-01-06 14:52



t=t*(2*i)*(2*i+1)
这里超出的范围,发生溢出。

不记录 t 为 n!,而记录为 1/n!
每次循环,t/=i , t/= i+1, 然后 i+=2;
你自己写下吧,我vb不怎么样,C还可以
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯