斐波那契数列

一、问题描述。

题目
求斐波那契数列的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;
}

 

posted @ 2023-05-15 23:37  liuxuechao  阅读(27)  评论(0编辑  收藏  举报