首页 > 其他分享 >斐波那契数列

斐波那契数列

时间:2023-05-15 23:45:01浏览次数:43  
标签:fib return 数列 int 斐波 那契 public

一、问题描述。

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

相关文章

  • P3986 斐波那契数列
    傻逼题。首先,\(Fib_{47}=2.971215073\times10^9\)。所以说我们把这个系数整出来,然后一个一个验就可以了。这里用Ex-gcd就可以了,找到通解,然后算出正整数解的个数就可以了。//#pragmaGCCoptimize(2)#include<cstdio>#include<cmath>#include<iostream>#include<cstr......
  • 输出 截止 大于500的斐波那锲数
    classFibs:def__init__(self):self.a=0self.b=1def__next__(self):self.a,self.b=self.b,self.a+self.breturnself.adef__iter__(self):returnselffibs=Fibs()forfinfibs:iff......
  • 菲波那契数列
     【题目描述】菲波那契数列是指这样的数列:数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数是多少。【输入】第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<=a<=20)。【输出......
  • 斐波那契数列
    斐波那契数列性质定义:\[f_i=\begin{cases}[i=1]&,i\le1\\f_{i-1}+f_{i-2}&,i\ge2\end{cases}\]通项:\[f_n=\frac{\left(\frac{1+\sqrt5}{2}\right)^n-\left(\frac{1-\sqrt5}{2}\right)^n}{\sqrt5}\]性质:\[\sum_{i=1}^nf_i=f_{n+2}-1\]数学归纳法易证......
  • 动态规划:剑指 Offer 10- I. 斐波那契数列
    题目描述: 写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项(即 F(N))。斐波那契数列的定义如下:F(0)=0,F(1)=1F(N)=F(N-1)+F(N-2),其中N>1.斐波那契数列由0和1开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模1e9+7(10000......
  • 51nod 1242 斐波那契数列的第N项(矩阵快速幂)
    1242 斐波那契数列的第N项基准时间限制:1 秒空间限制:131072 KB分值: 0 难度:基础题 收藏 关注斐波那契数列的定义如下:F(0)=0F(1)=1F(n)=F(n-1)+F(n-2)(n>=2)(1,1,2......
  • HJ89 24点运算 用递归生成器进行数列穷举
    思路:1、对4张牌进行全排序,并输出列表2、分别对排序进行计算尝试,采用穷举方式3、返回结果除了用递归生成器进行数组全排序外,也用模块fromitertools importpermutations,进行全排序。1#输出算式运算顺序从左至右运算,不需要括号确定优先级。23#列举所有排序方式,比如......
  • NC14522 珂朵莉的数列
    题目链接题目题目描述珂朵莉给了你一个序列,有\(\frac{n\times(n+1)}2\)个子区间,求出她们各自的逆序对个数,然后加起来输出输入描述第一行一个数n表示这个序列a的长度之后一行n个数,第i个数表示ai输出描述输出一行一个数表示答案示例1输入1011085623947......
  • 使用数学归纳法证明斐波那契数列通项公式
    使用数学归纳法证明斐波那契数列通项公式:\(F_{n}=\dfrac{\phi^{n}-\hat{\phi}^{n}}{\sqrt{5}}\)定义已知斐波那契数列\(F\)定义为:\[F_{n}=\begin{cases}0,n=0\\n,n=1\\F_{n-1}+F_{n-2},i\ge2\end{cases}\]\(\phi\)和......
  • 斐波那契数列第n项
    importjava.util.Scanner;publicclassMain{ publicstaticvoidmain(String[]args){ Scannersc=newScanner(System.in); intn=sc.nextInt(); inta=1,b=1,i=1; while(i<n){ intc=a+b; a=b; ......