4.6.8 Fibonacci数列
2025年09月26日
4.6.8 Fibonacci数列
【例4-32】Fibonacci数列的前两项是0和1,且每个后继项是前两项的和,所以数列为0、1、1、2、3、5、8、13、……。编写程序输出项值不大于1000的Fibonacci数列。
按“三步法”原则分析如下。
做什么
根据题意没有输入,所以窗体上只需要一个“计算”按钮。
怎么做
这个数列至少有两项0和1才能计算后面的数列,所以初始化前两项x1=0,x2=1。接下来就可以用x1,x2计算第三项了,判断第三项是否小于1000,如果小于,则需要计算第四项,所以这时需要修改x1、x2,把x2的复制给x1,x3的值复制给x2,这样就可以用相同的表达式x3=x1+x2来计算第四项了,以此类推。
步骤描述如下。
1)初始化x1=0,x2=1,输出x1、x2。
2)计算x3=x1+x2。
3)判断x3,如果x3小于或等于1000,向下执行;否则退出循环,程序结束。
4)输出x3,修改x1、x2,把x2的复制给x1,x3的值复制给x2。
5)计算x3=x1+x2。返回第3)步。
实现
由于输出项数较多,所以采用Print方法从窗体输出。
●用Do…Loop前测型语句实现:
●用Do…Loop后测型语句实现:
●用While语句实现:
运行效果如图4-36所示。
请读者们改一下如何用直到型实现。
图4-36 Fibonacci数列