前两天面试遇到的一个题,当时没有想清楚,今天想了一下,po出来;

# -*-encoding:utf-8-*-
import sys end = 0 # 终点
cnt = 0 # 统计组合方式 def jump(start):
global cnt
for i in [1,2]:
cur = str(start)+"+"+str(i)
if eval(cur) >= end:
print cur
cnt += 1
continue
jump(cur) def main(n):
"""
一只青蛙一次可以跳1阶或者2阶,n阶,有多少种到达终点的方式。
"""
global end
end = n
jump(0)
print "count: "+str(cnt) if __name__ == "__main__":
main(int(sys.argv[1]))

D:\myGit\test>testFrog1.py 4
0+1+1+1+1
0+1+1+1+2
0+1+1+2
0+1+2+1
0+1+2+2
0+2+1+1
0+2+1+2
0+2+2
count: 8

D:\myGit\test>testFrog1.py 5
0+1+1+1+1+1
0+1+1+1+1+2
0+1+1+1+2
0+1+1+2+1
0+1+1+2+2
0+1+2+1+1
0+1+2+1+2
0+1+2+2
0+2+1+1+1
0+2+1+1+2
0+2+1+2
0+2+2+1
0+2+2+2
count: 13

这个题主要就是考算法-递归,当时没有想清楚乱写一通,还是自己有些紧张;

一只青蛙一次可以跳1阶或者2阶,n阶,有多少种到达终点的方式。的更多相关文章

  1. 题目描述: k一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    时间限制:1秒     空间限制:32768k 斐波那契数列指的是这样一个数列: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,9 ...

  2. 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    // test14.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<iostream> #include< ...

  3. 变态跳台阶-一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    class Solution { public: int jumpFloorII(int number) { ) ; ) ; *jumpFloorII(number-); } };

  4. 跳台阶 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

    class Solution { public: int jumpFloor(int number) { ) ; ) ; )+jumpFloor(number-); } }; 如果先建立数组,然后利用 ...

  5. filter过滤器 默认情况下只对客户端发来的请求有过滤作用 对服务端的跳转不起作用 需要显示的在xml定义过滤的方式才行

    filter过滤器 默认情况下只对客户端发来的请求有过滤作用 对服务端的跳转不起作用 需要显示的在xml定义过滤的方式才行

  6. 青蛙的约会 扩展欧几里得 方程ax+by=c的整数解 一个跑道长为周长为L米,两只青蛙初始位置为x,y;(x!=y,同时逆时针运动,每一次运动分别为m,n米;问第几次运动后相遇,即在同一位置。

    /** 题目:青蛙的约会 链接:https://vjudge.net/contest/154246#problem/R 题意:一个跑道长为周长为L米,两只青蛙初始位置为x,y:(x!=y,同时逆时针运 ...

  7. Confusing Date Format UVALive 7711 给定mm-mm-mm格式的时间。年份(1900-1999)只给了后两位数,问有多少种合法的排列使时间正确。

    /** 题目:Confusing Date Format UVALive 7711 链接:https://vjudge.net/contest/174844#problem/A 题意:给定mm-mm- ...

  8. 一只青蛙从第一级台阶跳到第n级,每次可以跳任意级,共有多少种跳法,并写出递推式

    是斐波那契数列问题 假设f(n)是n个台阶跳的次数:(假设已经调到第n个台阶,最后一次是由哪个台阶跳上来的) f(n) = f(n-1)+f(n-2)+...+f(n-(n-1)) + f(n-n) ...

  9. 【php】Apache无法自己主动跳转却显示文件夹与php无法连接mysql数据库的解决方式

    一.Apache无法自己主动跳转却显示文件夹 Apache无法自己主动跳转却显示文件夹这是由于Apacheserver下conf/httpd.conf没有配置好,其默认是不跳转,直接显示文件夹 首先, ...

随机推荐

  1. 获得本机物理ip地址mac

    https://blog.csdn.net/guang670248515/article/details/81040797 文章来源:https://blog.csdn.net/kingepoch/a ...

  2. jquey弹出框demo

    默认 $('#btn-01').click(function(){ $.dialog({ contentHtml : '<p>我是默认弹出对话框示例展示.我只是用来占位的内容展示,仅仅用来 ...

  3. Oracle修改数据文件路径

    更改Oracle数据文件名及数据文件存放路径 SQL> select * from v$dbfile;      FILE# NAME---------- ------------------- ...

  4. 0001.第一个多线程demo--分批处理数据

    public class UserEntity { private String userId; private String userName; public String getUserId() ...

  5. 设置php的环境变量 php: command not found

    执行远程服务器上的某个脚本,却报错,提示php:command not found 找不到php命令 which php  结果是/usr/local/php/bin/php echo $PATH 结 ...

  6. [REPRINT]MODIFYING USER ACCOUNTS(usermod)

    http://landoflinux.com/linux_usermod_command.html Append Additional Groups to an exiting account use ...

  7. 【leetcode】985. Sum of Even Numbers After Queries

    题目如下: We have an array A of integers, and an array queries of queries. For the i-th query val = quer ...

  8. 深入理解volatile关键字

    Java内存模型 想要理解volatile为什么能确保可见性,就要先理解Java中的内存模型是什么样的. Java内存模型规定了所有的变量都存储在主内存中.每条线程中还有自己的工作内存,线程的工作内存 ...

  9. UVa 11806 Cheerleaders (容斥原理+二进制表示状态)

    In most professional sporting events, cheerleaders play a major role in entertaining the spectators. ...

  10. Network基础(六):telnet远程管理

    一.telnet远程管理 目标: 在企业中为方便网络管理员对Cisco设备的配置,一般需事先在Cisco交换机及路由器上开启远程管理的服务,借助网络通过telnet方式远程访问. 方案: 网络管理员通 ...