吃饱没事做之——爬楼梯题复杂化
题目:一共有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);
}
验算:
直接好家伙
吃饱没事做之——爬楼梯题复杂化相关推荐
- 吃饱没事做之———用windows自带的Hyper-v 创建的Linux虚拟机来和主机的windows系统互联。
一.安装Hyper-V和新建Linux虚拟机 首先在任务栏的右击鼠标打开应用和功能. 点击可选功能,划到最下面,找到更多Windows功能 找到Hyper-V,选择上. 之后跟着步骤安装重启就ok了 ...
- 爬楼梯问题总结(持续更新)
爬楼梯问题总结(持续更新) 因为最近做了几道爬楼梯问题,可自己还是不会做. 因为我刚开始用的自己的方法,没有学习通用方法(简单方法) 下面我还是来总结一下目前遇到的爬楼梯问题 如果有更好的爬楼梯问题, ...
- 【算法】1041- 图解 LeetCode第 70 题爬楼梯问题
最近开始努力研究算法,遇到这个很有意思的题目,因为从中复习到斐波那契数列,又通过某篇资料,查到中科院官网,看了很多科普文章.深挖下去能看到很多东西. 本着热爱分享的初衷,整理本文与大家分享,题目本身没 ...
- LeetCode刷题实战70:爬楼梯
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- c++刷题_LeetCode刷题实战70:爬楼梯
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试.所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 ! 今天和大家 ...
- 《LeetCode力扣练习》第70题 爬楼梯 Java
<LeetCode力扣练习>第70题 爬楼梯 Java 一.资源 题目: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶 ...
- java算法题走楼梯,程序员必学算法「动态规划」:爬楼梯(完全背包解法)
通知:我将公众号文章和学习相关的资料整理到了Github :https://github.com/youngyangyang04/leetcode-master,方便大家在电脑上学习,可以fork到自 ...
- code第一部分数组:第十七题 爬楼梯问题
code第一部分数组:第十七题 爬楼梯问题 You are climbing a stair case. It takes n steps to reach to the top. Each time ...
- 《爬楼梯》算法日记 2021.7.22,每天一道算法题,怒刷Leetcode,未做出,看评论思路后得出解。
""" 70. 爬楼梯 假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数. ...
最新文章
- PHP动态编译出现Cannot find autoconf
- Y项目轶事之入场半个月
- phpstudy mysql优化_MySQL_MySQL优化之对RAND()的优化方法,众所周知,在MySQL中,如果直 - phpStudy...
- Android 开发中使用Intent传递数据的方法
- MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
- 超过4g的文件怎么上传到linux,怎么免费上传大于4G的文件到百度云 大于4G的文件不开会员怎么上传到百度云...
- round - 精确的几位小数
- 【100题】第十四题(数组中找两个数使其和等于输入数)
- Bailian2742 Number of letters【入门】
- [转]唐骏谈职场 —— 管理者要学会让员工感动
- 404 单页应用 报错 路由_详解vue 单页应用(spa)前端路由实现原理
- TableView全展开实现ContentSizedTableView
- linux 手机遥控器,哪一个最适用?五款常用手机万能遥控器对比体验
- 人脸识别数据集的采集
- 汇编程序编译连接过程
- 【Feign请求头丢失问题】no suitable HttpMessageConverter found for response type
- ClickHouse磁盘清理
- win7 加密oracle修正,win7 远程连接服务器出现身份验证错误,又找不到加密Oracle修正...
- 药物中毒急救 matlab
- 中国中老年服装市场投资前景分析及供需格局研究预测报告
热门文章
- 全网唯一:surfacepro系列用户重启或解锁后蓝牙失灵终极解决方法【绝对有效】
- Linux 入门教程 1
- android alsa 命令,[zz]Android下使用alsa-utils调试ALSA驱动
- linux内核之alsa,Linux操作系统Alsa音频编程
- ArcMap中Shapefile和dBASE文件的创建与管理
- 导入/导出dBase
- 方方格子access_工具|史上最全Excel插件集合及相关安装包!
- F.interpolate函数使用记录记载
- 20172316 2017-2018-2 《程序设计与数据结构》 实验三报告
- 我们重写了七层流量代理BFE的路由转发机制