## 斐波那契数列斐波那契数列,作为著名的数列,有很多种解题方法,在这里我提供三种。一个是c++,两个是java。1、递推算法
import java.util.Scanner;//用递推算法来实现斐波那契数列
//它的前若干项是:1,1,2,3,5,8,13,21,34…求此数列的第n项。
public class Fibonacci_1 {public static void main(String[] args) {System.out.println("你想知道Fibonacci数列第几项的值?");Scanner input = new Scanner(System.in);int n = input.nextInt();System.out.println("数列的第n项的值为:" + f(n));}public static int f(int n){int f0 = 1, f1 = 1;int f2 = 0;for(int i = 3; i <= n; i++){f2 = f0 + f1;f0 = f1;f1 = f2;}return f2;}

2、递归算法

import java.util.Scanner;//Fibonacci数列:1,1,2,3,5,8,...
//求该数列第n个数的值。
//数列满足递归公式:F1=1,F2+=1,Fn=Fn-1 + Fn-2
public class Fibonacci {public static void main(String[] args){System.out.println("你想知道Fibonacci数列第几项的值?");Scanner input = new Scanner(System.in);int n = input.nextInt();System.out.println("数列的第n项的值为:" + f(n));}public static int f(int n){if(n <= 0) {//提高健壮性System.out.println("输入的 n 应该大于0");return -1;}else if(n == 1 || n == 2){return 1;}else{return f(n-1)+f(n-2);}}//以下方法改编自:https://blog.csdn.net/u010425776/article/details/50830193//计算斐波那契数列长度,代码应该还有错误,还没解决
//    public static int fibonacci_recursion(int n){//        if(n<0){//            System.out.println("n不能小于0");
//            return 0;
//        }
//
//        if(n==0 || n==1)
//            return n;
//
//        //a1用于存储fibonacci(n-2),a2用于存储fibonacci(n-1),a3用于存储fibonacci(n)
//        int a1=0,a2=1,a3=1;
//        for(int i=0;i<n-1;i++){//            a3 = a1+a2;
//            a1 = a2;
//            a2 = a3;
//        }
//
//        return a3;
//    }
}

3、普通循环算法(最简)

#include <iostream>
#include <cstdlib>using namespace std;int main()
{int fnm1 = 1;int fnm2 = 1;int fn = 0;int _n;cin >> _n;if (_n == 1) {cout << "1" << endl; return 0;}else if (_n == 2) {cout << "1" << endl; return 0;}elsefor (int i = 3; i <= _n; i++){fn = fnm1 + fnm2;fnm1 = fnm2;fnm2 = fn;}cout << fn << endl;return EXIT_SUCCESS;
}

其他参考文章:
https://blog.csdn.net/m0_37292262/article/details/81317911

斐波那契数列解题思路相关推荐

  1. 斐波那契数列递归思路

    斐波那契数列是一个十分特殊的数列,与排列组合等都有密切的联系,最后的比值更是精妙的黄金比例. 斐波那契数列F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2). 那么我们可以直接用递推公式 ...

  2. python中fib什么意思_Python斐波那契数列是什么?怎么用?

    小编第一次看到这个词的时候,比懵的状态,后来自己深入了解了下,原来这个内容并不难,于是整理了出来,一起来看下吧~ 需求 用Python脚本实现斐波那契数列. 思路 斐波那契数列,也称兔子数列,是指1, ...

  3. python斐波那契数列前20项_Python每日一练之实现斐波那契数列

    概述 今天主要分享下怎么用Python实现斐波那契数列,大家有空可以玩一下~ 需求 用Python脚本实现斐波那契数列. 思路 斐波那契数列,也称兔子数列,是指1,1,2,3,5,8,13,21,34 ...

  4. 递归算法——阶乘、斐波那契数列

    文章目录 前言 一.什么是递归算法? 二.递归算法特点 三.递归算法的使用要求 四.应用示例--阶乘 1.阶乘概述 2.思路分析 3.代码实现 五.应用示例--斐波那契数列 1.思路分析 2.代码实现 ...

  5. 深入剖析斐波拉契数列

    深入剖析斐波拉契数列 前言 动态规划作为一种非常经典的一类算法,不仅在解决实际问题当中有很多实际的应用,同时通常也是面试的一个重点.本篇文章一步步剖析动态规划的基本原理,通过斐波拉契数列问题(优化时间 ...

  6. 我对你的思念,如同斐波那契数列,随时间的过去线性递增

    斐波那契数列,又称黄金分割数列,因数学家莱昂纳多·斐波那契以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上, ...

  7. 斐波拉契数列(简单思路)

    题目描述: 斐波那契数,通常用 F(n) 表示,形成的序列称为斐波那契数列.该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和.也就是: F(0) = 0, F(1) = 1 F(N) ...

  8. python侯先生爬楼梯_经典算法题:爬楼梯 ,以斐波那契数列来解题代码案例

    网上这题的解题思路主要有两种:动态规划 斐波那契数列 因为我们用斐波那契数列来解,所以我主要描述方法2. 斐波那契数列 又称 兔子数列, 指得是:1.1.2.3.5.8.13.21.--, 在数学上它 ...

  9. 斐波那契数列(Fibonacci sequence)【思路及实现】

    定义 斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列 ...

最新文章

  1. python ioc di_Spring介绍,IOC(控制反转),DI(依赖注入)介绍及两种注入方法
  2. linux设备驱动之总线、设备、驱动
  3. js中内置对象Math()常用方法笔记
  4. 卡尔曼滤波器(Kalman Filter) 理解
  5. CC2540低功耗的内幕
  6. dnn神经网络_Facebook AI新研究:可解释神经元或许会阻碍DNN的学习
  7. 数字电路-时序逻辑电路
  8. trajan 算法 离线求lca
  9. AI 生成歌曲《醒来》(可试听)
  10. IntelliJ IDEA之开发环境配置
  11. 分子动力学模拟之SETTLE约束算法
  12. MySQL学习笔记day2--DQL案例练习
  13. linux bash语法检查,ShellCheck — Shell Script 语法检查工具
  14. 关于win10连网显示“网络使用较旧的安全标准。建议连接到其他网络”的解决方法
  15. 《数字逻辑设计与计算机组成》一练习
  16. 怎么将mp4改成mp3格式?
  17. 计算机一级软件在U盘怎么安装到桌面,桌面软件拷贝到u盘教程
  18. vue使用cesium
  19. 浅谈密码学的历史发展过程
  20. Second,Millisecond,Microsecond

热门文章

  1. 职中选什么专业好_读职高选什么专业好?
  2. 面试官:请说说什么是BFC?大白话讲清楚
  3. DL入门(2):自编码器(AutoEncoder)
  4. VUE环境搭建与安装的方法步骤
  5. 9.0 原生setting 默认应用手机助手显示异常
  6. 重型自卸汽车设计(转向系及前桥设计)(论文+CAD图纸+开题报告+翻译……)
  7. ijkplayer 源码分析(1):初始化流程
  8. linux重置win10开机密码,win10 1903怎么取消(设置)开机密码
  9. 云借阅图书管理系统[基于SSM框架的项目]
  10. Android中处理崩溃异常和记录日志