本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。
输入样例:
10
结尾无空行
输出样例:
sum = 0.819
结尾无空行
1(第一项) - 1/4(第二项) + 1/7(第三项) - 1/10(第四项) + ...
因为题目中的每一项都是加减交错相加,所以我们需要设置一个变量,让这个变量在每次循环当中去改变我们所求每一项的正负号。
我在这里设置了一个flag,flag原先我赋予它的初始值为1,当for循环进行运行的时候,我又赋予flag等于-fkag(原理:for循环第一次运行的时候,sum+item已经完成了我们计算结果的第一项,所以下一步falg=-flag也就是让flag=-1,最后一步的这个(item = flag*1.0/分母)这里的flag为负,所以这里的item为负,为下一次循环变了正负号)(当for循环进行到第二次的时候,上一次的item为负,所以这里计算得到的第二项