斐波那契数列的实现(递归 非递归)
最近学习数据结构的时候,接触到了用递归实现斐波那契数列,在这里我就做个记录吧!
首先我们要知道什么是斐波那契数列。 斐波那契数列就是 0, 1, 1 ,2 ,3 ,5 ,8 , 13 这样的数列(这样的数列有什么规律,我相信大家一眼就能看出来)
这里介绍2种方法。
1.非递归
//非递归方法实现 public static int feibounaqi(int i) { if (i==1) { return 0; } if (i==2) { return 1; } int f1=0; //第一数 int f2=1; //第二数 int c=0; //返回结果数 //这个循环只要i>=3就会执行 for (int j =3;j<=i; j++) { c=f1+f2; f1=f2; f2=c; } return c; }
2.用递归实现
public static int feibounaqi(int i) { if (i==1 || i==2) { //因为1和2 都是1 所以返回1 return 1; }else { return feibounaqi(i-2)+feibounaqi(i-1); //否则用递归求值 } }
最后结束我想送给自己一句话: 好运即在前方,坚持再坚持!