• 信息学奥赛一本通(C++)在线评测系统——基础(一)C++语言——1071:菲波那契数


    时间限制: 1000 ms 内存限制: 65536 KB
    提交数: 15947 通过数: 8392

    【题目描述】

    菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。
    给出一个正整数k,要求菲波那契数列中第k个数是多少。

    【输入】

    输入一行,包含一个正整数k。(1 ≤ k ≤ 46)

    【输出】

    输出一行,包含一个正整数,表示菲波那契数列中第k个数的大小。

    【输入样例】

    19

    【输出样例】

    4181

    【来源】

    No

    代码

    #include <stdio.h>
    long long feibonaqie(int n)
    {
    
     	 //return feibonaqie(n-1)+feibonaqie(n-2);
    	 //运行超时
    	 long long int f[46];
    	 f[0]=1;f[1]=1;
    	 if(n<=2)
    	 	{
    	 		return 1;
    		 }
    		 else
    		 {
    		 	 for(int i=2;i<n+1;i++)
    			  {
    		 	   		 f[i]=f[i-1]+f[i-2];
    			 }
    		 }
    	
    	 return f[n-1];
    }
    int main ()
    {
    	int k;
    	scanf("%d",&k);
    	printf("%lld",feibonaqie(k));
    	return 0;
    }
    
  • 相关阅读:
    dp的冗余(选数类)
    noip2016自测报告
    dalao高精
    二叉苹果树
    最长上升子序列加强版
    Above the Median
    树状数组学习笔记
    Java委托机制
    Java集合
    Java异常
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12338894.html
Copyright © 2020-2023  润新知