C++求斐波那契数的实例代码
题目内容:斐波那契数定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>1且n为整数)
如果写出菲氏数列,则应该是:
0 1 1 2 3 5 8 13 21 34 ……
如果求其第6项,则应为8。
求第n项菲氏数。
输入描述:输入数据含有不多于50个的正整数n(0<=n<=46)。
输出描述:对于每个n,计算其第n项菲氏数,每个结果应单独占一行。
题目分析:先把第0项到第46项的斐波那契数求出来,放在一个数组中,然后,直接查表即可,这样就不会超时。
参考代码:
#include <iostream>
#include <fstream>
#include <cmath>
using namespace std;
int main(int argc,char * argv[])
{
int a[47];
a[0]=0;
a[1]=1;
for(int i=2;i<=46;i++)
{
a[i]=a[i-1]+a[i-2];
}
int n;
while(cin>>n)
{
cout<<a[n]<<endl;
}
system("pause");
return 0;
}
效果如图:
相关推荐
-
c#斐波那契数列(Fibonacci)(递归,非递归)实现代码
//Main 复制代码 代码如下: using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace Fibonacci{ class Program { static void Main(string[] args) { Console.WriteLine("Would you like to know which
-
C语言使用普通循环方法和递归求斐波那契序列示例代码
复制代码 代码如下: #include <stdio.h> int fac(int x); int main(void){ int n; scanf("%d", &n); if (n == 1 || n == 2) printf("1\n"); else if (n == 3) printf("2\n"); else { int last = 1;
-
C++输出斐波那契数列的两种实现方法
定义: 斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ...这个数列从第三项开始,每一项都等于前两项之和. 以输出斐波那契数列的前20项为例: 方法一:比较标准的做法,是借助第三个变量实现的. 复制代码 代码如下: #include<iostream> using namespace std;int main(){ int f1=0,f2=1,t,n=1; cout<<"数列第1个
-
C语言求Fibonacci斐波那契数列通项问题的解法总结
一:递归实现 使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1. 二:数组实现 空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快. 三:vector<int>实现 时间复杂度是0(n),时间复杂度是0(1),就是不知道vector的效率高不高,当然vector有自己的属性会占用资源. 四:queue<int>实现 当然队列比数组更适合实现斐波那契数列,时间复杂度和空间复杂度和vector<int&g
-
c语言的cps实现求fibonacci数列示例
CPS:http://en.wikipedia.org/wiki/Continuation-passing_style示例代码使用迭代 + 尾递归. 复制代码 代码如下: #include <stdio.h> typedef void (*END_OF_END)(unsigned long);void fibonacci(int, unsigned long, unsigned long, void(*)(unsigned long)); voidnotify(unsigned long re
-
c++输出斐波那契数列示例分享
复制代码 代码如下: #include "stdio.h" int Feibo(int Num){if(Num == 1 || Num == 2){return 1;}else{return Feibo(Num - 1) + Feibo(Num - 2);}} void main(){int NumIn,i;scanf("%d", &NumIn);for(i=1;i<NumIn;i++){printf("%d ",Feibo(i))
-
C++求斐波那契数的实例代码
题目内容:斐波那契数定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>1且n为整数) 如果写出菲氏数列,则应该是: 0 1 1 2 3 5 8 13 21 34 -- 如果求其第6项,则应为8. 求第n项菲氏数. 输入描述:输入数据含有不多于50个的正整数n(0<=n<=46). 输出描述:对于每个n,计算其第n项菲氏数,每个结果应单独占一行. 题目分析:先把第0项到第46项的斐波那契数求出来,放在一个数组中,然后,直接查表即可,这样就不会超时. 参考代码:
-
php求斐波那契数的两种实现方式【递归与递推】
本文实例讲述了php求斐波那契数的两种实现方式.分享给大家供大家参考,具体如下: 斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列.费波那西数列.费波拿契数.费氏数列,指的是这样一个数列:1.1.2.3.5.8.13.21.--在数学上,斐波那契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n>=2,n∈N*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相
-
C语言新手练习题之求第n个斐波那契数
目录 前言 一.思路 1.非递归 2.递归 二.源代码以及运行截图 非递归: 递归: 总结 前言 在C语言中,分别用递归和非递归两种方法实现求第n个斐波那契数 一.思路 首先分析一下关于斐波那契数列的原理: 第一个和第二个数都是1,之后的每个数都是前两个数之和,即: 1,1,2,3,5,8,…… 1.非递归 用到了循环相关的知识, 当n>2的时候进入循环,将前两个数相加得到第三个数: 当n<=2的时候跳出循环. 2.递归 观察斐波那契数列可以得到一个公式: 根据这个公式就能进行递归.当n>
-
java数学归纳法非递归求斐波那契数列的方法
本文实例讲述了java数学归纳法非递归求斐波那契数列的方法.分享给大家供大家参考.具体如下: Integer能表示的最大值为 2147483647 大概是21.4亿,这里没有考虑溢出情况(当size为983时就会溢出)! import java.util.List; import java.util.ArrayList; /** * @author jxqlovejava * 斐波那契数列 */ public class Fibonacci { public static List<Intege
-
Java利用递归算法实现查询斐波那契数
package 斐波那契数; import java.util.Scanner; class 斐波那契数 { public static void main(String[] args) { System.out.println("请输入想查询的第几个斐波拉楔数"); long n = new Scanner(System.in).nextLong(); System.out.println(f(n)); } private static int f(long n) { if(n==1
-
使用python求斐波那契数列中第n个数的值示例代码
斐波那契数列(Fibonacci sequence),又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列",指的是这样一个数列:1.1.2.3.5.8.13.21.34.--在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*) 求斐波那契数列中第n个数的值:1,1,2,3,5,8,13,21,34- 方法一:用for循
-
p5.js实现斐波那契螺旋的示例代码
本篇文章主要介绍了p5.js实现斐波那契螺旋的示例代码,分享给大家,也给自己做个笔记 效果如下: 主要方法 translate() rotate() arc() 斐波那契螺旋 斐波那契螺旋线也称"黄金螺旋",是根据斐波那契数列画出来的螺旋曲线,以斐波那契数为边的正方形中画一个90度的扇形,连起来的弧线就是斐波那契螺旋. 草图 过程分解 一.定义一个空的斐波那契数组: var Fibonacci = []; 二.初始化 默认情况下draw()函数会无限重复绘图, frameRate()函
-
求斐波那契(Fibonacci)数列通项的七种实现方法
一:递归实现使用公式f[n]=f[n-1]+f[n-2],依次递归计算,递归结束条件是f[1]=1,f[2]=1.二:数组实现空间复杂度和时间复杂度都是0(n),效率一般,比递归来得快.三:vector<int>实现时间复杂度是0(n),时间复杂度是0(1),就是不知道vector的效率高不高,当然vector有自己的属性会占用资源.四:queue<int>实现当然队列比数组更适合实现斐波那契数列,时间复杂度和空间复杂度和vector<int>一样,但队列太适合这里了,
-
解析分别用递归与循环的方式求斐波那契数列的实现方法
代码如下: 复制代码 代码如下: public class Fibonacci { public static long recursive(int n) { if (n <= 0) return 0; if (n == 1) return 1; return recursive(n - 1) + recursive(n - 2); } public static long loop(int n) { if (n <= 0) return 0; if (n == 1)
随机推荐
- React Native时间转换格式工具类分享
- mysql error 1130 hy000:Host'localhost'解决方案
- JQuery自定义事件的应用 JQuery最佳实践
- Asp.net利用JQuery弹出层加载数据代码
- extjs form textfield的隐藏方法
- 使用脚本实现故障时自动重启Apache
- JavaScript 开发规范要求(图文并茂)
- js阻止浏览器默认行为触发的通用方法(推荐)
- PHP Zip压缩 在线对文件进行压缩的函数
- jQuery实现图片加载完成后改变图片大小的方法
- 浅析sql server 公共表达式的简单应用
- 必须会的SQL语句(八) 数据库的完整性约束
- 解决jQuery上传插件Uploadify出现Http Error 302错误的方法
- jquery性能优化高级技巧
- Avalonjs 实现简单购物车功能(实例代码)
- window.location.reload 刷新使用分析(去对话框)
- 让IIS支持Flv的详细设置方法
- 如何提高城域网路由器网络层的可靠性?
- Spring oxm入门实例
- SpringMVC 限流的示例代码