一、问题描述。
题目
求斐波那契数列的40个数,并输出
要求:用for循环来遍历所有可能的选项
二、设计思路。
fibonacci数列可以通过多种方式进行输出,其通项公式为 F(n)=F(n-1)+F(n-2)
基本的for循环、数组再到递归,都可以实现。
题目要求使用for循环,求前40项
第一项和第二项都是1,我们可以用a,b分别代表前两项,f代表第三项,用窗的方式一步一步向后移动。
第一步:a=1,b=1
第二步:f=a+b
第三步:让a=b ,b=f,方便下一次计算
三、代码实现。
public class Test{
public static int fib(int n){
if(n == 1 || n == 2){
return 1;
}else{
int a = 1;
int b = 1;
int s = 0;
for(int i = 2;i<n;i++){
s = a + b;
a = b;
b = s;
}
return s;
}
}
public static void main (String[] args){
int result = fib(5);
System.out.println(result);
}
}
迭代算法
#include <stdio.h>
int fib(int n)
{
int a = 1;
int b = 1;
int c = 0;
while (n >= 3)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = fib(n);
printf("%d\n", ret);
return 0;
}
标签:fib,return,数列,int,斐波,那契,public From: https://www.cnblogs.com/luoqingci/p/17403482.html