求1-1/2+1/3-1/4+......+1/99-1/100

来源:百度知道 编辑:UC知道 时间:2024/05/28 19:24:45
S1:sgin=1
S2:sum=1
S3:deno=2
S4:sign=(-1)*sign
S5:term=sign*(1/deno)
S6:sum=sum+term
S7:deno=deno+1
S8:若deno〈=100返回S4;否则算法结束。
刚买了一本潭浩强第三版的书,我第一次学习编程感觉不怎么懂
请问出学者适合看这本书吗
这里的S4-S6我不太明白大家可不可以用文字解释一下
然后当程序反复执行第二次在解释一下,谢谢了

第一次 程序执行:
sign=(-1)*sign sign原来得1 现在得-1//也就是执行一次换一次符号 满足你要求的式子

term 就是你要加的当前项 //第一次执行时 sign=-1 (1/deno)=1/2 也就是你式子的第二项

sum是你最后要得的和 //第一次执行 sum=1 term=-1/2 也就是sum=1-1/2

第二次 程序执行:
sign=(-1)sign sign原来得-1 现在得1//现在到第三项了 为正

term 你想要的当前项//第二次执行 sign=1 (1/deno)=1/3 也就是你式子的第三项

sum 你想要的和 //第二次执行 sum=1-1/2 现在 sum=1-1/2+1/3

就是这样继续循环下去 就得到最后的结果了

1-1/2+1/3-1/4+......+1/99-1/100这个式子是加一个减一个这样交替进行,sign=(-1)*sign 这一句的作用就是用来实现加减交替的。你可以看到如果上次sign=1,计算后就得-1,如果为-1,计算后就等于1.而加上一个负数就等于是去减。而term=sign*(1/deno) 这一句里面1/deno就是计算1/2,1/3,...1/100这样的结果的,因为每做一次,分母的deno就加一了(S7这一句),而计算得到的结果通过s6这一句进行求和。因此,从s4到s8这个循环就等于把这个式子计算出来。