题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
输入:
输入可能包含多个测试样例,对于每个测试案例,
输入包括一个整数n(1<=n<=70)。
输出:
对应每个测试案例,
输出该青蛙跳上一个n级的台阶总共有多少种跳法。
样例输入:
5
样例输出:
8
/*********************************
* 日期:2013-11-15
* 作者:SJF0115
* 题号: 题目1388:跳台阶
* 来源:http://ac.jobdu.com/problem.php?pid=1388
* 结果:AC
* 来源:剑指Offer
* 总结:
**********************************/
#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
//F(n) = F(n-1) + F(n-2)
long long Fibonacci(int n){
int i;
long long fibonacciA = 1;
long long fibonacciB = 2;
long long fibonacciC;
if(n == 1){
return fibonacciA;
}
else if(n == 2){
return fibonacciB;
}
for(i = 3;i <= n;i++){
fibonacciC = fibonacciA + fibonacciB;
fibonacciA = fibonacciB;
fibonacciB = fibonacciC;
}
return fibonacciC;
}
int main()
{
int i,n;
while(scanf("%d",&n) != EOF){
printf("%lld\n",Fibonacci(n));
}
return 0;
}
#include <stdio.h>
#include <math.h>
int main()
{
int n,i,j;
double Fibonacci[71];
Fibonacci[0] = 0;
Fibonacci[1] = 1;
Fibonacci[2] = 2;
while(scanf("%d",&n) != EOF){
for(int i = 3;i <= n;i++){
Fibonacci[i] = Fibonacci[i-1] + Fibonacci[i-2];
}
printf("%.0lf\n",Fibonacci[n]);
}
return 0;
}
代码三
/*---------------------------------------
* 日期:2015-07-19
* 作者:SJF0115
* 题目: 1.跳台阶
* 网址:http://www.nowcoder.com/books/coding-interviews/8c82a5b80378478f9484d87d1c5f12a4?rp=1
* 结果:AC
* 来源:剑指Offer
* 博客:
-----------------------------------------*/
#include <iostream>
using namespace std;
class Solution {
public:
int jumpFloor(int number) {
if(number == 1){
return 1;
}//if
else if(number == 2){
return 2;
}//else
return jumpFloor(number - 1) + jumpFloor(number - 2);
}
};
int main(){
Solution s;
int number = 3;
cout<<s.jumpFloor(number)<<endl;
return 0;
}
分享到:
相关推荐
剑指 Offer 46. 把数字翻译成字符串参考链接解法一:动态规划类似于青蛙跳台阶,但是有些许的改变,就是判断n-2的值是>=10 && <= 25int t
《剑指Offer》 1. 赋值运算函数 2. 单例设计模式 3. 二维数组中查找目标值 4. 替换字符串中的空格 5. 从尾到头打印链表 6. 由前序和中序遍历重建二叉树 7. 用两个栈实现队列 8. 求旋转数组的最小数字 9. ...
定义dp[i]表示跳上一个i级台阶的跳法数,则dp[0] = dp[1] = 1,对于任意i(i >=2),跳上i级台阶可以通过跳1级或者跳2级到达,所以dp
【Python学习-递归-斐波那契数列】【剑指offer】之跳台阶题目分析代码变态跳台阶分析代码矩形覆盖分析代码 题目 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序...
青蛙跳台阶问题 Y Y Y 剑指 Offer 11. 旋转数组的最小数字 Y Y Y 剑指 Offer 14- I. 剪绳子 Y Y Y 剑指 Offer 15. 二进制中1的个数 Y Y Y 剑指 Offer 17. 打印从1到最大的n位数 Y Y Y 剑指 Offer 21. 调整数组顺序使...
面试题 1:二维数组中的查找(考点: 数组) 1 面试题 2:替换空格(考点: 字符串) 2 面试题 3:从尾到头打印链表(考点: 链表) 2 面试题 4:重建二叉树(考点: 树) 4 面试题 5:用两个栈实现队列(考点: 栈和...
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 是斐波那契数列和跳台阶得升级版,详情在上篇和上上篇博客。 采用和跳台阶一样的分析方法: 记...
剑指offer 1.二位数组中的查找 2.替换空格 3.单链表:从尾到头打印链表 4.二叉树:重建二叉树 5.栈:用两个栈实现队列 6.旋转数组的最小数字 7.斐波那契数列 8.跳台阶 9.变态跳台阶 10.矩形覆盖 11.二进制中1的个数 12....
《剑指Offer》与Leetcode主站题目链接对应 update:中文版leetcode已发布剑指offer授权的刷题合集: 本帖记录剑指offer在leetcode主站的原题。 无 无 数组中重复的数字 -> (中文版) 二维数组中的查找 -> 替换空格 ...
剑指offer代码实现,通过。 # Title Solution Tag Note LeetCode 1 二维数组中的查找 数组 2 替换空格 字符串 3 从尾到头打印链表 链表 4 重建二叉树 树 5 用两个栈实现队列 栈和队列 LeetCode 232 6 旋转数组的最小...
第九题 斐波那契数列的第n项(青蛙跳台阶) 测试9 第十题 二进制中1的个数 测试10 第十一题 数值的整数次方 测试11 第十二题 打印1到最大的n晚数 测试12 第十三题 O(1)时间删除链表节点 测试13 第十四题 使数据库中...
青蛙跳台阶和变态跳台阶(python、剑指Offer) 一、题目描述 青蛙跳台阶题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 变态跳...
剑指offer10-1 斐波那契数列 简单 剑指offer10-2 青蛙跳台阶 简单 剑指offer11 旋转数组的最小数字 简单 剑指offer12 矩阵钟的路径 中等 剑指offer13 机器人的运动范围 中等 剑指offer14-1 剪绳子 中等 剑指offer14-...
暴力法 思路: 按照函数调用的递归树,记录符合条件的跳跃操作: python代码: class Solution: def __init__(self): self.solutions = 0 ... def jump(self, start, ... return self.jump(start + 1, end) + self.ju
leetcode第685题 leetcode-js 力扣js解题记录 树 -> 图论 -> 递归 -> 回溯 -> DFS -> BFS -> 贪心 -> 动态规划 -> 字符串 -> 数组 ...1. ...剑指 Offer ...剑指 Offer ...剑指 Offer ...青蛙跳台阶问题 面试题 16
Coding-InterviewsCoding-Interviews(剑指offer Java代码)二维数组中的查找替换空格从尾到头打印链表重建二叉树用两个栈实现队列旋转数组的最小数字斐波那契数列跳台阶变态跳台阶矩形覆盖二进制中1的个数数值的...
剑指Offer的Python解答 剑指Offer的Python解答,不断更新。如果数学公式无法正确显示,可以clone到本地查看,或者尝试使用Chrome插件“MathJax Plugin for Github”。 什么是剑指Offer? 精选谷歌、微软等知名IT企业...
LeetCode之剑指offer系列刷题 剑指offer系列题目列表(C++实现) 题目名称和题号 题目链接 题目博客 刷题次数 类型 面试题01.06:字符串压缩 +2 查找+双指针 面试题03:数组中重复的数字 +2 查找 面试题04:二维数组...
每日刷题计划,记录做过的题目,内容包含剑指offer、程序员面试金典(CTCI)、数据结构 下面标题括号内的为对应包名 剑指offer(offer) java实现 03二维数组中的查找 04替换空格 05从尾到头打印链表 06重建二叉树 07用...
Leetcode、剑指 offer等笔试题集合 SwordtoOffer ReConstructBinaryTree:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。 QueueByStack:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的...