2070——裴波那契数列

我发觉我比较笨,这种水的题我都会有一堆问题,果然我比较怂。。。唉。。。

//#include<stdio.h>
//int main()
//{
//    int f(int n);
//    int N;
//    while(scanf("%d",&N)!=EOF&&N!=-1)
//    {
//        printf("%d\n",f(N));
//    }
//    return 0;
//}
// int f(int n){
//     int s;
//     if(n==0){
//         return 0;
//        }
//        if(n==1){
//              return 1;
//        }else{
//            return f(n-1) + f(n-2);
//
//        }
//
// }
#include<stdio.h>
int main()
{
    int n,i;
    __int64 s[100];
    while(scanf("%d",&n)!=EOF&&n!=-1)
    {
        s[0]=0;
        s[1]=1;
        for(i=2;i<=n;i++)
        {
            s[i]=s[i-1]+s[i-2];
        }
        printf("%I64d\n",s[n]);
    }
    return 0;
}
//you can use 64bit integer: __int64
//我也不能理解为什么递归会超时??? 
时间: 2024-12-23 19:59:31

2070——裴波那契数列的相关文章

用递归方法求裴波那契数列,以及指定某一位的数值

输出前20位裴波那契数列 function Fibonacci($j=1, $i=0, $v=0) { echo $j;echo "<br>"; if ($v>=20) { return; } Fibonacci($j+$i,$j, $v+1); } Fibonacci(); 指定获取 1 function Fibonacci($s=0, $j=1, $i=0, $v=0) 2 { 3 if ($s==($v+1)) return $j; 4 return Fibon

Python yield 使用浅析 ----以裴波那契数列生成为例

转载请注明出处,http://blog.csdn.net/suool/article/details/38388681谢谢! 之前转过一篇讲Python生成器的博文,不过觉得不是很清晰,前几天见到有讲yield的文章,感觉还不错,遂整理于此,与诸君共享.愿共同进步. 我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念. 如何生成斐波那契數列 斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个和第二个数外,任意一个数都可由前两个数相加得到.用计算机程序

裴波纳契数列

1 /* 2 斐波那契数列 3 1.1.2.3.5.8.13.21.34. 4 */ 5 6 #include "stdio.h" 7 8 int main() 9 { 10 int i; 11 int f1, f2, value; 12 int count = 0; //计数 13 f1 = f2 = 1; 14 printf("%d\t%d\t\n",f1,f2);//输出菲波那契数列的前2项 15 for (i = 3; i <= 30; i++)//输

裴波那契数列

#include<iostream> using namespace std;   int main() {           int arr[30]={1,1,2,3,5,8,13};           for(int a=2;a<30;a++){         arr[a]=arr[a-1]+arr[a-2];       }           for(int a=0;a<30;a++){         cout<<arr[a]<<endl;

Python小代码_11_生成小于 n 的裴波那契数列

def fib(n): a, b = 1, 1 while a < n: print(a, end=' ') a, b = b, a + b fib(100000) #输出结果 #1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 原文地址:https://www.cnblogs.com/chuangming/p/8480579.html

用数组显示裴波那契数列

1 #include <stdio.h> 2 enum {num=30}; 3 int main() 4 { 5 long fib[num]; 6 int i; 7 fib[0]=fib[1]=1; 8 for(i=2;i<num;i++) 9 { 10 fib[i]=fib[i-1]+fib[i-2]; 11 } 12 for(i=0;i<num;i++) 13 { 14 printf("%d ",fib[i]); 15 putchar((i)%6==5?'\

裴波那契查找详解 - Python实现

裴波那契查找(Fibonacci Search)是利用黄金分割原理实现的查找方法. 斐波那契查找的核心是: 1.当key == a[mid]时,查找成功: 2.当key < a[mid]时,新的查找范围是low至mid-1, 此时范围个数为F[k-1] - 1个,即数组左边的长度: 3.当key < a[mid]时,新的查找范围是mid+1至high,此时范围个数为F[k-2] - 1个,即数组右边的长度: import random #source为待查找数组,key为要查找的数 def f

用模板元实现50个台阶问题,一次走一步或者两步或者3步,用模板元实现求裴波那契额数列

 1.用模板元实现50个台阶问题,一次走一步或者两步或者3步 2.分析 由上面分析可以知道,到达N(N > 3)级台阶时的次数为:目标台阶的前3个台阶分别直接到目标台阶的次数总和. 3.模板元把在运行时消耗的时间,在编译器键优化. 4.通过模板元实现的代码如下: #include <iostream> /*这里是int 类型的,N表示台阶数量*/ template<int N> struct data { enum { res = data<N - 1>::r

用递归和非递归的方法输出斐波那契数列的第n个元素(C语言实现)

费波那契数列(意大利语:Successione di Fibonacci),又译为费波拿契数.斐波那契数列.费氏数列.黄金分割数列. 在数学上,费波那契数列是以递归的方法来定义: {\displaystyle F_{0}=0} {\displaystyle F_{1}=1} {\displaystyle F_{n}=F_{n-1}+F_{n-2}}(n≧2) 用文字来说,就是费波那契数列由0和1开始,之后的费波那契系数就是由之前的两数相加而得出.首几个费波那契系数是: 0, 1, 1, 2, 3