C++求Fibonacci数列第n项源码及流程图
1.1需求分析
编程序,使用如下所谓的简单变量“数据平移”方法来求出Fibonacci数列的第n项(的具体项值)并显示在屏幕上(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。
Fibonacci数列的计算公式如下:
fib(1) = 1;
fib(2) = 1;
fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n
本程序主要利用Fibonacci数列特点,当输入第n项时,显示其第n项的数值
1.2概要设计
首先根据已经给出的数列第一项和第二项,然后利用Fabonacci数列的性质求其以后的项值.定义一个新值为newitem.让它等于前两项的价值.然后将第二项的值赋给第一项,新值newitem赋给第二项,如此循环n-3次.我用的是面向过程的求法,相对来说比面向对象的要笨一些.
1.3详细设计与编码
实验代码已上传
具体分析如下:
首先将Fabonicci数列的第一项和第二项的数值分别赋给a和b,定义一个新值newitem让其等于a+b.当要求其第n项时,进行n-3次循环,将第n-2项的数值赋给a,将第n-1项的数值赋给b,然后求出其第n项的数值.最后输出.流程图如下
1.4调试分析
然后输入一个数字n,下面加入是4
运行结果为
.
1.5用户试用说明
本程序比较简单,只需要用户输入项数n就可以相应显示Fabonicci的数值.
1.6设计心得
本程序比较简单,只需要定义一个循环语句就可以完成任务.不过在编程的时候还是要注意一下C语言和C++的区别#include <stdio.h>
void main(){
int a=1;
int 原文请找腾讯752018766优,文-论'文.网http://www.youerw.com int i;
int n;
newitem=a+b;
printf("请输入一个数字\n");
scanf("%d",&n);
for(i=1;i<(n-2);i++)
{
a=b;
b=newitem;
newitem=a+b;
}
printf("fibonacci is %d\n",newitem);}.1819