C++求斐波那契数的实例代码_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;
}

效果如图:

时间: 2024-08-16 12:21:47

C++求斐波那契数的实例代码_C 语言的相关文章

求大神指教逻辑式程序是什么,能具体给出个例子吗?比方说写出求斐波那契数的逻辑式程序

问题描述 求大神指教逻辑式程序是什么,能具体给出个例子吗?比方说写出求斐波那契数的逻辑式程序 求大神指教逻辑式程序是什么,能具体给出个例子吗?比方说写出求斐波那契数的逻辑式程序 解决方案 斐波那契数列和阶乘的实现. fib(1,1). fib(2,1). fib(N,Ret) :- N > 2, N1 is N -1, N2 is N -2, fib(N1,Prv1), fib(N2,Prv2), Ret is Prv2 + Prv1. factorial(0,1). factorial(1,1

递归形式与非递归形式的斐波那契数列的用法分析_C 语言

复制代码 代码如下: <SPAN style="FONT-SIZE: 32px">采用递归形式和非递归形式实现斐波那契数列</SPAN> 复制代码 代码如下: #include "stdafx.h"#include <iostream>using namespace std;//递归形式的斐波那契数列int fibonacciRecursion(int n){ if (n == 1 || n ==2) {  return 1; }

HDU 3977 求斐波那契循环节

题意:求斐波那契数列模一个数的循环节的长度. 分析过程:首先我们知道fib数列模p如果出现了连续的1,0就意味这着开始循环了,因为接下来的项就是1 1 2 3 5等等. 那么很显然如果在第k位第一次出现了1,0,那么对于以后的1,0都可以表示为k*m.   那么,现在我们考虑如果fib数列模p在第pos位第一次出现了0,那么设0前面的那个数为a,则接下来的序列将是a,0,a, a,2a,3a,5a,8a,.....可以看出a的系数就是一个fib数列,那么我们就可以得到fib(k+i)%p=a*f

UVa 10183 How Many Fibs? (统计斐波那契数个数&amp;amp;高精度)

10183 - How Many Fibs? Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1124 Recall the definition of the Fibonacci numbers:    f1 := 1    f2 := 2    fn :

UVa 10229 Modular Fibonacci:矩阵快速幂求斐波那契

10229 - Modular Fibonacci Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=115&page=show_problem&problem=1170 The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defin

循环体-求斐波拉契的第n项的值,迭代实现

问题描述 求斐波拉契的第n项的值,迭代实现 实现代码如下(利用迭代): long diedai(int n) { long result; long p_result; long n_result; result=p_result=1; //这一段表达的斐波拉契数列第n项的值 while(n>2) { n-=1; n_result=p_result;//把前一项的值赋给前一项的前一项 p_result=result; // result=p_result+n_result;//结果等于前一项加上

求助-斐波那契数运算时间?

问题描述 斐波那契数运算时间? WINDOWS 64位系统下.用递归运算,算斐波那契数列.第一第二项分别是0,1.算2013大概需要多久. 解决方案 楼主 你自己把算法实现 然后测试一下就好 每台机器的时间不一样的

斐波那契数(C/C++,Scheme)

一.背景 斐波那契数的定义: f0=0 f1=1 fi=fi−1+fi−2(i>1) 二.代码 C++语言版 int fib_iter(int a, int b, int count) { if (count == 0) return b; else return fib_iter(a + b, a, count - 1); } int fib(int n) { return fib_iter(1, 0, n); } Common Lisp语言版 (defun fib (n) (fib-iter

java数学归纳法非递归求斐波那契数列的方法_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