【剑指Offer面试编程题】题目1387:斐波那契数列--九度OJ
- 题目描述:
-
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下:

- 输入:
-
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=70)。
- 输出:
-
对应每个测试案例,
输出第n项斐波那契数列的值。
样例输入:
3
样例输出:
2
【解题思路】本题应该是非常经典的递推/递归问题了,而且递推式子题目也已经给出。由此,可以设置简单的递归函数,其终止条件是调用参数为0或者1的时候。
一点点小技巧:由于题目有多个测试案例,每个案例都需要寻找对应的斐波拉契数。所以在程序的开始可以将所有的斐波拉契数存于一个vector中,后面只需要查询即可。防止最后第70个斐波拉契数较大,采用long数据类型存储。
AC code:
#include <cstdio>
#include <vector>
using namespace std;
int main()
{
int n,siz;
vector<long> vec;
vec.reserve(72);
vec.push_back(0);
vec.push_back(1);
while(scanf("%d",&n)!=EOF)
{
if(n>=vec.size())
{
siz=vec.size();
for(int i=siz;i<=n;++i)
vec.push_back(vec[i-1]+vec[i-2]);
}
printf("%ld\n",vec[n]);
}
return 0;
}
/**************************************************************
Problem: 1387
User: huo_yao
Language: C++
Result: Accepted
Time:0 ms
Memory:1052 kb
****************************************************************/
题目链接:http://ac.jobdu.com/problem.php?pid=1387
【剑指Offer面试编程题】题目1387:斐波那契数列--九度OJ的更多相关文章
- 《剑指offer》— JavaScript(7)斐波那契数列
斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 实现代码 function Fibonacci(n) { var arr = ...
- 剑指offer第二版面试题10:斐波那契数列(JAVA版)
题目:写一个函数,输入n,求斐波那契数列的第n项.斐波那契数列的定义如下: 1.效率很低效的解法,挑剔的面试官不会喜欢 使用递归实现: public class Fibonacci { public ...
- (剑指Offer)面试题9:斐波那契数列
题目: 现在要求输入一个整数n,请你输出斐波那契数列的第n项. 斐波那契数列的定义: f(0)=0;f(1)=1; f(n)=f(n-1)+f(n-2) 思路: 1.递归: 根据递推公式来实现 优点: ...
- 【剑指Offer面试编程题】题目1390:矩形覆盖--九度OJ
题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入 ...
- 【剑指Offer面试编程题】题目1389:变态跳台阶--九度OJ
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1 ...
- 【剑指Offer面试编程题】题目1388:跳台阶--九度OJ
题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n< ...
- 九度OJ题目1387斐波那契数列
/*斐波那契数列,又称黄金分割数列,指的是这样一个数列: 0.1.1.2.3.5.8.13.21.…… 在数学上,斐波纳契数列被定义如下: F0=0,F1=1, Fn=F(n-1)+F(n-2)(n& ...
- 【剑指Offer面试编程题】题目1509:树中两个结点的最低公共祖先--九度OJ
题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个数n(0<n<1000),代表测试样例的个数 ...
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n&l ...
随机推荐
- Cocos2dLua3.17.2集成FairyGUI之 lua绑定 (二)
上一章中将fairyGUI集成到C++工程,由于本人使用的是cocoslua,还需要将C++的绑定到lua中使用,本章记录一下过程,由于是过了一段时间,有些步骤忘记了,大概记录一下,诸位大大做个临时参 ...
- win10鼠标右击 新建文件夹 反应缓慢、迟钝
1. 先使用360杀毒,步骤如下: 2.修改注册表 https://jingyan.baidu.com/article/363872ec9e25972e4ba16f82.html 3. 如果仍未解决 ...
- About Computer Graphics 2.0
Notes of Computer Graphics 2.0: towards end-user-generated contents CG 1.0 Modeling: construct 3D mo ...
- Codeforces Round #575 (Div. 3) 题解
比赛链接:https://codeforc.es/contest/1196 A. Three Piles of Candies 题意:两个人分三堆糖果,两个人先各拿一堆,然后剩下一堆随意分配,使两个人 ...
- Eclipse Tomcat 7.0 添加WEB项目报错:Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web modules
前言 我叫梅乾花,我误闯了“从零开始的程序世界”,遭受到了前所未有的的困难,为了活下去,为了看见美好的明天,我开始学习之旅. 问题篇我打开了"Eclipse",将项目导入其中,开启 ...
- 增加phpmyadmin导入文件上限
一.修改php配置 修改php配置文件,php.ini upload_max_filesize = 100M post_max_size = 100M 一般修改这2个就行了,然后重启wampserve ...
- Thread线程
1.什么是线程? 线程( Thread ) 被称作轻量级进程( Lightweight Process ),线程是比进程更小一级的执行单元. 一个进程可以有多个线程,但至少有一个线程(当进程被初始化后 ...
- kafka connector
Kafka Connect 是一种用于在 Kafka 和其他系统之间可扩展的.可靠的的流式传输数据的工具.它使得能偶快速定义将大量数据集合移入和移除 kafka 连接器变得简单. kafka conn ...
- 基于Facebook开源框架SocketRocket的即时通讯
SocketRocket 介绍: SocketRock 是 Facebook 开源的框架,基于 WebSocket 客户端类库,适用于 iOS.Mac OS.tv OS.GitHub 传送门:http ...
- 洛谷P2142 高精度减法 题解
想找原题请点击这里:传送门 原题: 题目描述 高精度减法 输入格式 两个整数a,b(第二个可能比第一个大) 输出格式 结果(是负数要输出负号) 输入输出样例 输入 复制 输出 复制 说明/提示 %数据 ...