题目描述:

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。斐波那契数列的定义如下:

输入:

输入可能包含多个测试样例,对于每个测试案例,

输入包括一个整数n(1<=n<=70)。

输出:

对应每个测试案例,

输出第n项斐波那契数列的值。

样例输入:

  1. 3

样例输出:

  1. 2

【解题思路】本题应该是非常经典的递推/递归问题了,而且递推式子题目也已经给出。由此,可以设置简单的递归函数,其终止条件是调用参数为0或者1的时候。

一点点小技巧:由于题目有多个测试案例,每个案例都需要寻找对应的斐波拉契数。所以在程序的开始可以将所有的斐波拉契数存于一个vector中,后面只需要查询即可。防止最后第70个斐波拉契数较大,采用long数据类型存储。

AC code:

  1. #include <cstdio>
  2. #include <vector>
  3. using namespace std;
  4. int main()
  5. {
  6. int n,siz;
  7. vector<long> vec;
  8. vec.reserve(72);
  9. vec.push_back(0);
  10. vec.push_back(1);
  11. while(scanf("%d",&n)!=EOF)
  12. {
  13. if(n>=vec.size())
  14. {
  15. siz=vec.size();
  16. for(int i=siz;i<=n;++i)
  17. vec.push_back(vec[i-1]+vec[i-2]);
  18. }
  19. printf("%ld\n",vec[n]);
  20. }
  21. return 0;
  22. }
  23. /**************************************************************
  24. Problem: 1387
  25. User: huo_yao
  26. Language: C++
  27. Result: Accepted
  28. Time:0 ms
  29. Memory:1052 kb
  30. ****************************************************************/

题目链接:http://ac.jobdu.com/problem.php?pid=1387

【剑指Offer面试编程题】题目1387:斐波那契数列--九度OJ的更多相关文章

  1. 《剑指offer》— JavaScript(7)斐波那契数列

    斐波那契数列 题目描述 大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项. n<=39 实现代码 function Fibonacci(n) { var arr = ...

  2. 剑指offer第二版面试题10:斐波那契数列(JAVA版)

    题目:写一个函数,输入n,求斐波那契数列的第n项.斐波那契数列的定义如下: 1.效率很低效的解法,挑剔的面试官不会喜欢 使用递归实现: public class Fibonacci { public ...

  3. (剑指Offer)面试题9:斐波那契数列

    题目: 现在要求输入一个整数n,请你输出斐波那契数列的第n项. 斐波那契数列的定义: f(0)=0;f(1)=1; f(n)=f(n-1)+f(n-2) 思路: 1.递归: 根据递推公式来实现 优点: ...

  4. 【剑指Offer面试编程题】题目1390:矩形覆盖--九度OJ

    题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入 ...

  5. 【剑指Offer面试编程题】题目1389:变态跳台阶--九度OJ

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级--它也可以跳上n级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1 ...

  6. 【剑指Offer面试编程题】题目1388:跳台阶--九度OJ

    题目描述: 一只青蛙一次可以跳上1级台阶,也可以跳上2级.求该青蛙跳上一个n级的台阶总共有多少种跳法. 输入: 输入可能包含多个测试样例,对于每个测试案例, 输入包括一个整数n(1<=n< ...

  7. 九度OJ题目1387斐波那契数列

    /*斐波那契数列,又称黄金分割数列,指的是这样一个数列: 0.1.1.2.3.5.8.13.21.…… 在数学上,斐波纳契数列被定义如下: F0=0,F1=1, Fn=F(n-1)+F(n-2)(n& ...

  8. 【剑指Offer面试编程题】题目1509:树中两个结点的最低公共祖先--九度OJ

    题目描述: 给定一棵树,同时给出树中的两个结点,求它们的最低公共祖先. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入的第一行为一个数n(0<n<1000),代表测试样例的个数 ...

  9. 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ

    题目描述: 将一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数. 输入: 输入可能包含多个测试样例. 对于每个测试案例,输入为一个合法或者非法的字符串,代表一个整数n(1<= n&l ...

随机推荐

  1. LeetCode练题——67. Add Binary

    1.题目 67. Add Binary——easy Given two binary strings, return their sum (also a binary string). The inp ...

  2. php 单机redis 常用命令

    一.Redis连接与认证 //连接参数:ip.端口.连接超时时间,连接成功返回true,否则返回false $ret = $redis->connect('127.0.0.1', 6379, 3 ...

  3. centos 时区的更改 UTC TO CST

    在CentOS Linux中终端命令中执行以下命令: 1).vi /etc/sysconfig/clock   #编辑时间配置文件 ZONE="Asia/Shanghai" UTC ...

  4. C# 面试编程算法题

    求以下表达式的值: 1. 1 - 2 + 3 - 4 + … + m public static int Foo1(int m) { ; ; i <= m; i++) { == ) { sum ...

  5. 201771010135杨蓉庆 《面向对象程序设计(java)》第三周学习总结

    一:第1-3章学习内容: 第一章:复习基本数据类型 整型 byte(1个字节 表示范围:-2^7 ~ (2^7)-1) short(2个字节 表示范围:-2^15~(2^15)-1) int(4个字节 ...

  6. docker+hexo 搭建博客

    前提 Linux服务器 保证自己服务器上的端口对外开放,即设置相应的防火墙规则 安装好hexo 安装:npm install hexo-cli -g 初始化搭建:npm init myBlog,myB ...

  7. Nginx企业级优化!(重点)

    隐藏Nginx版本号!(重点) 在生产环境中,需要隐藏 Nginx 的版本号,以避免安全漏洞的泄漏 一旦有黑客知道Nginx版本号便可以利用Nginx漏洞进行攻击,严重影响到了公司的安全 查看隐藏版本 ...

  8. mybatis 无效字符

    只想说 是真的坑啊!!!!!sql就是对 但就是报错无效字符..... 一.sql后有 “:”,我觉得这个应该坑了很多人了 二.标签后有类似于空格的东西(我也不知道是tab还是空格,反正删完就对了) ...

  9. stack的使用-Hdu 1062

    Text Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  10. 基于Struts2+Hibernate开发小区物业管理系统 附源码

    开发环境: Windows操作系统开发工具: MyEclipse+Jdk+Tomcat+MySql数据库 运行效果图: 源码及原文链接:https://javadao.xyz/forum.php?mo ...