计蒜客 挑战难题 爬楼梯

假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部?

格式:

第一行输入一个数n(n<=50),代表楼梯的级数。

接下来一行输出你的方法总数。

样例输入

5

样例输出

8==========================第一次code:
 1 import java.util.Scanner;
 2
 3 public class Main
 4 {
 5     public static void main(String[] args)
 6     {
 7         Scanner input = new Scanner(System.in);
 8         System.out.println(a(input.nextInt()));
 9     }
10     static long a (int n)
11     {
12         int a = n / 2;
13         int b = n - a*2;
14         long c=0;
15         if(a==0)
16         {
17             return 1;
18         }
19         else
20         {
21             for(int i=0;i<a;i++)
22             {
23                 c += work(n-(i+1),i+1);
24             }
25             return c+1;
26         }
27     }
28     /**
29      * 计算排列组合
30      * @param n
31      * @param k
32      * @return
33      */
34     static long work(int n , int k)
35     {
36         if(k > n/2)
37         {
38             k = n-k;
39         }
40         long a = 1;
41         long b = 1;
42         int i;
43         for(i = 1 ; i <= k ; ++i)
44         {
45             a *= n-i+1;
46             b *= i;
47             if(a%b == 0)
48             {
49                 a /= b;
50                 b = 1;
51             }
52         }
53         return a/b;
54     }
55 }

台阶数为 1 阶时,方法数为:1台阶数为 2 阶时,方法数为:2台阶数为 3 阶时,方法数为:3台阶数为 4 阶时,方法数为:5台阶数为 5 阶时,方法数为:8台阶数为 6 阶时,方法数为:13台阶数为 7 阶时,方法数为:21台阶数为 8 阶时,方法数为:34台阶数为 9 阶时,方法数为:55台阶数为 10 阶时,方法数为:89台阶数为 11 阶时,方法数为:144台阶数为 12 阶时,方法数为:233台阶数为 13 阶时,方法数为:377台阶数为 14 阶时,方法数为:610台阶数为 15 阶时,方法数为:987台阶数为 16 阶时,方法数为:1597台阶数为 17 阶时,方法数为:2584台阶数为 18 阶时,方法数为:4181台阶数为 19 阶时,方法数为:6765台阶数为 20 阶时,方法数为:10946台阶数为 21 阶时,方法数为:17711台阶数为 22 阶时,方法数为:28657台阶数为 23 阶时,方法数为:46368台阶数为 24 阶时,方法数为:75025台阶数为 25 阶时,方法数为:121393台阶数为 26 阶时,方法数为:196418台阶数为 27 阶时,方法数为:317811台阶数为 28 阶时,方法数为:514229台阶数为 29 阶时,方法数为:832040台阶数为 30 阶时,方法数为:1346269台阶数为 31 阶时,方法数为:2178309台阶数为 32 阶时,方法数为:3524578台阶数为 33 阶时,方法数为:5702887台阶数为 34 阶时,方法数为:9227465台阶数为 35 阶时,方法数为:14930352台阶数为 36 阶时,方法数为:24157817台阶数为 37 阶时,方法数为:39088169台阶数为 38 阶时,方法数为:63245986台阶数为 39 阶时,方法数为:102334155台阶数为 40 阶时,方法数为:165580141台阶数为 41 阶时,方法数为:267914296台阶数为 42 阶时,方法数为:433494437台阶数为 43 阶时,方法数为:701408733台阶数为 44 阶时,方法数为:1134903170台阶数为 45 阶时,方法数为:1836311903台阶数为 46 阶时,方法数为:2971215073台阶数为 47 阶时,方法数为:4807526976台阶数为 48 阶时,方法数为:7778742049台阶数为 49 阶时,方法数为:12586269025台阶数为 50 阶时,方法数为:20365011074

单次运算,时间效率为 0 毫秒。

posted on 2016-09-06 18:23 niithub 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/niithub/p/5846814.html

计蒜客 挑战难题 爬楼梯相关推荐

  1. 计蒜客挑战难题:爬楼梯

    假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数. 接下来一行输出你的方法总数. 样例输入 ...

  2. 泡面吧” “计蒜客” 挑战难题 第16题:爬楼梯

    第16题:爬楼梯 点击打开链接 尝试次数 1229次 通过率 17.7% 时间限制 1000 ms 内存限制 10000 K 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种 ...

  3. 计蒜客挑战难题:整数转换成罗马数字

    给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字. 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等. 格式: 第一行输入一个整数,接下来输出对 ...

  4. 计蒜客挑战难题:最后一个单词的长度

    给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度. 如果不存在最后一个单词,返回0 注意: "单词"是指不包含空格符号的字符串 例如: s = "hello ...

  5. 计蒜客挑战难题:移除数组中的重复元素

    给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度. 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间.即常数空间限制. ...

  6. 计蒜客挑战难题:元素移除

    给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度. 如:A[] = {1, 2, 3, 4, 5}, 要删除数字3, 那么返回数组长度为4. 亲爱的小伙伴们,题目是 ...

  7. 计蒜客挑战难题:字符串长度

    在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫str_len的函数来计算这个字符串的长度,并输出. 聪明的你应该已经发现了,这个叫str_len的函数并没有完成,在不修改函数原 ...

  8. 计蒜客挑战难题:泥塑课

    小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑.在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始 ...

  9. 计蒜客挑战难题:矩阵翻转

    晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的.于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分. 输入第一行包括由空格分开的整数M.N.T(0 < M ...

最新文章

  1. 打包图片上传cdn_紧抓5G新时代机遇 又拍云创新发展CDN行业
  2. .如何实现浏览器内多个标签页之间的通信?
  3. 在线报名竞赛网站java源码_我用Java写出了一个QQ!可在线聊天(附源码)~
  4. Mysql事务结合spring管理
  5. 【Servlet】Java Serlvet Listener 监听器
  6. php面向对象封装mysql_php mysqli面向对象封装mysql数据库常用操作
  7. 求完全二叉树的结点个数
  8. 两个维护 提升三服务器,王莉霞:以整改成效践行“两个维护”立足“事要解决”抓好“三访结合”...
  9. Python单例模式的4种实现方法(转)
  10. 《C++ 进阶心法》书籍修正记录
  11. ElasticSearch 入门总结
  12. android-应用签名
  13. 【小程序合集】来一组适合你的表情包-表情包大全
  14. 获取微信商户平台操作证书
  15. luogu p1330封锁阳光大学
  16. 深入Java内存区域与OOM
  17. Android-Skin-Loader换肤框架剖析
  18. 前端自动化测试 之 视觉测试
  19. H1B工作签证·绿卡:美国留学的两个关键步骤
  20. 四超多强 一文看懂中国CV独角兽格局

热门文章

  1. 车辆检测--A Closer Look at Faster R-CNN for Vehicle Detection
  2. 我看过的SDN方面的好文章
  3. PHP气缸种类,气缸分类方法有哪些及气缸的种类
  4. redis集群模式的工作原理
  5. redis支持的数据类型有哪些?
  6. 解决Ubuntu安装依赖问题
  7. 【RocketMQ工作原理】消息的存储
  8. Elasticsearch之Mapping
  9. oracle procedures批量删除带索引条件数据很慢_见微知著,数据库应用设计优化浅谈...
  10. pearson相关系数_三个相关系数的注意事项