题目:一共有n个台阶,你一次可以走一个台阶,或者两个台阶。那么,走到台阶顶时,一共有多少种走法。
比如三个台阶,你可以 1,2。。。或者1,1,1 或者2,1。。一共三种走法。

一共n阶台阶,倒数第一步时,无视前面怎么走,有两种走法:

1.走一步2.走两步

两种走法的走法种数相加就是n阶台阶的情况下的所有种数。

就想着不用斐波那契数列,直接走代码

//此代码是为了更难的完成爬楼梯的题的代码
#include <iostream>
#define c_MAX(x,y) (x)>(y)?(x):(y)
#define c_MIN(x,y) (x)<(y)?(x):(y)//字符转整型
int char_int(char i);
//字符串转整型
int string_int(char *s);
//求C(a,b)的值,即C a 取 b
int C_l(int a,int b);int main(int arg_len, char** arg) {if(arg_len != 2 )return 0;if(string_int(arg[1]) <= 0)return 0;{int z = string_int(arg[1]); //楼梯值int n = z/2;int c = 0;for(int i = n; i >= 0; i--){c += C_l(i + (z - (2 * i)), i);}std::cout << c << std::endl;}
}int char_int(char i)
{return (int)i - 48;
}int string_int(char *s)
{int num = 0;bool flag = false;int c = 10 , n = 0;while(*s != '\0'){if(*s == '-' && flag == false){flag = true;s++;continue;}n = char_int(*s);//std::cout << n  << " \n"  << std::endl;if(n < 0 || n > 9)break;num = num * c + n;//std::cout << num  << " 123 \n"  << std::endl;s++;}return flag?-num:num;
}int C_l(int a,int b)
{int x = 1,y = 1,z = 1;for(int i = 1;i <= a; i++){x *= i;}for(int i = 1;i <= b; i++){y *= i;}for(int i = 1;i <= (a-b); i++){z *= i;}//std:: cout << x / (y * z) << std::endl;return  x / (y * z);
}

验算:

直接好家伙

吃饱没事做之——爬楼梯题复杂化相关推荐

  1. 吃饱没事做之———用windows自带的Hyper-v 创建的Linux虚拟机来和主机的windows系统互联。

    一.安装Hyper-V和新建Linux虚拟机 首先在任务栏的右击鼠标打开应用和功能. 点击可选功能,划到最下面,找到更多Windows功能 找到Hyper-V,选择上. 之后跟着步骤安装重启就ok了 ...

  2. 爬楼梯问题总结(持续更新)

    爬楼梯问题总结(持续更新) 因为最近做了几道爬楼梯问题,可自己还是不会做. 因为我刚开始用的自己的方法,没有学习通用方法(简单方法) 下面我还是来总结一下目前遇到的爬楼梯问题 如果有更好的爬楼梯问题, ...

  3. 【算法】1041- 图解 LeetCode第 70 题爬楼梯问题

    最近开始努力研究算法,遇到这个很有意思的题目,因为从中复习到斐波那契数列,又通过某篇资料,查到中科院官网,看了很多科普文章.深挖下去能看到很多东西. 本着热爱分享的初衷,整理本文与大家分享,题目本身没 ...

  4. ​LeetCode刷题实战70:爬楼梯

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  5. c++刷题_LeetCode刷题实战70:爬楼梯

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...

  6. 《LeetCode力扣练习》第70题 爬楼梯 Java

    <LeetCode力扣练习>第70题 爬楼梯 Java 一.资源 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶 ...

  7. java算法题走楼梯,程序员必学算法「动态规划」:爬楼梯(完全背包解法)

    通知:我将公众号文章和学习相关的资料整理到了Github :https://github.com/youngyangyang04/leetcode-master,方便大家在电脑上学习,可以fork到自 ...

  8. code第一部分数组:第十七题 爬楼梯问题

    code第一部分数组:第十七题 爬楼梯问题 You are climbing a stair case. It takes n steps to reach to the top. Each time ...

  9. 《爬楼梯》算法日记 2021.7.22,每天一道算法题,怒刷Leetcode,未做出,看评论思路后得出解。

    """ 70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数. ...

最新文章

  1. PHP动态编译出现Cannot find autoconf
  2. Y项目轶事之入场半个月
  3. phpstudy mysql优化_MySQL_MySQL优化之对RAND()的优化方法,众所周知,在MySQL中,如果直 - phpStudy...
  4. Android 开发中使用Intent传递数据的方法
  5. MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
  6. 超过4g的文件怎么上传到linux,怎么免费上传大于4G的文件到百度云 大于4G的文件不开会员怎么上传到百度云...
  7. round - 精确的几位小数
  8. 【100题】第十四题(数组中找两个数使其和等于输入数)
  9. Bailian2742 Number of letters【入门】
  10. [转]唐骏谈职场 —— 管理者要学会让员工感动
  11. 404 单页应用 报错 路由_详解vue 单页应用(spa)前端路由实现原理
  12. TableView全展开实现ContentSizedTableView
  13. linux 手机遥控器,哪一个最适用?五款常用手机万能遥控器对比体验
  14. 人脸识别数据集的采集
  15. 汇编程序编译连接过程
  16. 【Feign请求头丢失问题】no suitable HttpMessageConverter found for response type
  17. ClickHouse磁盘清理
  18. win7 加密oracle修正,win7 远程连接服务器出现身份验证错误,又找不到加密Oracle修正...
  19. 药物中毒急救 matlab
  20. 中国中老年服装市场投资前景分析及供需格局研究预测报告

热门文章

  1. 全网唯一:surfacepro系列用户重启或解锁后蓝牙失灵终极解决方法【绝对有效】
  2. Linux 入门教程 1
  3. android alsa 命令,[zz]Android下使用alsa-utils调试ALSA驱动
  4. linux内核之alsa,Linux操作系统Alsa音频编程
  5. ArcMap中Shapefile和dBASE文件的创建与管理
  6. 导入/导出dBase
  7. 方方格子access_工具|史上最全Excel插件集合及相关安装包!
  8. F.interpolate函数使用记录记载
  9. 20172316 2017-2018-2 《程序设计与数据结构》 实验三报告
  10. 我们重写了七层流量代理BFE的路由转发机制