I am a teacher!

导航

习题解析之:正负交错数列前n项和

【问题描述】
求 1-1/2+2/3-3/5+4/8-5/13+...的前n项和,n由用户输入(n>0),结果用str.format()方法保留小数点后6位数字输出。

输入格式
一个正整数

输出格式
前n项的和

示例
输入:
12
输出:
0.828448

【编程思路】

        观察数列可知,从数列的第 2 项开始,数列的分子是一个连续的自然数序列;分母是一个斐波那契数列,斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21,34,55,89..,这个数列从第3项开始,每一项都等于前两项之和。

        由于输入的 n 大于 0 ,所求数列中至少有 1 项。为此,可以置累加和的初值为 1,然后用 for 循环将数列的第 2 项至第 n 项累加到和值上即可。

        由于数列各项是正负交错的,为此设置一个符号位 sign,初值为 -1,表示第 2 项是相减,每次循环后,sign = - sign,则 sign 的值正好按 -1,1,-1,1,…进行切换。实现数列正负交错的处理。

        按上面的思路,编写源程序如下:

image

posted on 2025-11-12 14:33  aTeacher  阅读(0)  评论(0)    收藏  举报