用VFP编写程序,计算数列前40项之和:S=1/1+2/2+4/3+7/4+11/5...

来源:百度知道 编辑:UC知道 时间:2024/05/01 07:23:37
用VFP编写程序,计算数列前40项之和:S=1/1+2/2+4/3+7/4+11/5.....
请高手帮忙下^^

将以下程序复制粘贴,执行即可
set talk off
pi=1 &&前一项值
ci=0 &&当前值
s=0 &&累计
for i=1 to 40
ci = pi + i-1
pi=ci
s=s+ci/i
endfor
?'数列前40项之和S=',s

我在本机下成功执行,结果也对。

dimension a(40),b(40),c(40)
a(1)=1
b(1)=1
nadd=1
for i=2 to 40
c(i)=(a(i-1)+b(i-1))
&&分子为上一项分子分母之和
nadd=nadd+c(i)/i
&&nadd为39项累加,第一项已经赋值给nadd
a(i)=c(i)
b(i)=i
&& 将第i项,a(i)/b(i),分子分母写进数组,以便下一次循环计算
endfor
?"前四十项和为:",nadd

&&a(i)/b(i) 为任意项值,i=1的一项,i=2第二项

高人给个更好的看看,学习学习

j=1
q=1
s=0
for i=1 to 40
s=s+q/i
q=i+q
next
wait wind "s="+str(s,6,2)

这样算不太好.nadd=nadd+c(i)/i可以,也可以算出答案,我想还会有更简单的方法