c语言楼梯有10级台阶,C语言小程序之没事爬楼梯

题目

有39级台阶,每一步只能走1阶或者2阶。

如果需要走偶数步,求上台阶的方案数。

分析

拿到题目就是一通分析,39是奇数,一次走1阶或者两阶。。。

那么就有:1*x+2y=39,x得是个奇数。。。

要求走偶数步,那y也得是奇数。。。

代码

#include

int main()

{

// 39个台阶, 分类数, 方案数

int number = 39, count = 0;

// 走了1阶的次数

for(int i=0; i<=number; i++)

{

// 1阶偶数次的排除

if(i%2==0)

continue;

// 2阶奇数次的留下

if((number-i)%4!=0)

{

count++;

}

}

printf("共有%d套方案可选择\n", count);

}

天才有木有→_→

后来才发现,自己想简单了,题目要求上台阶的方案数,上面的结果明显不是。

上面的结果只是一阶和二阶的数目,还需要对他们进行排序。。。比如:

1222222....

2122222....

是两个不同的方案。

后悔数学没学好

m个1和n个0进行排序,有多少排序方式。。。

当时就难住我了,后来求助得到答案:

int func(int m, int n)

{

if(m==0 || n==0) return 1;

return func(m-1, n) * (n+m)/m;

}

最终代码

#include

int func(int m, int n)

{

if(m==0 || n==0) return 1;

return func(m-1, n) * (n+m)/m;

}

int main()

{

// 39个台阶, 分类数, 方案数

int number = 39, count = 0, sum = 0;

// 走了1阶的次数

for(int i=0; i<=number; i++)

{

// 1阶偶数次的排除

if(i%2==0)

continue;

// 2阶奇数次的留下

if((number-i)%4!=0)

{

count++;

// 1阶i次, 2阶(number-i)/2次

int ber = func(i, (number-i)/2);

sum += ber;

printf("分类%2d:1阶%2d次, 2阶%2d次. 共%3d种方法\n", count, i, (number-i)/2, ber);

}

}

printf("共有%d类, %d套方案可选择\n", count, sum);

}

结果

dec9f69b4a2d?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

图片发自简书App

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488844.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【周末阅读】2019自动驾驶十大关键词

来源&#xff1a;智车科技作者&#xff1a;曾晶、桂艳琳、唐沛祥回看过去2019年自动驾驶行业的“关键词”&#xff0c;从中感受这一年自动驾驶的变化与趋势。关键词一&#xff1a;交通强国2019年9月&#xff0c;中共中央、国务院印发了《交通强国建设纲要》&#xff08;以下简称…

【adb】电脑通过ADB向手机设备传输文件

具体步骤如下&#xff1a; Step1 下载ADB工具 下载最新版本的 ADB工具 !!! 注意&#xff1a;一定要是最新版本的ADB&#xff0c;否则很可能导致无法识别到手机。 将下载的ADB解压以后的文件如下图所示&#xff1a; Step2 添加环境变量 将 ABD 的路径 D:\platformtools &am…

input type=submit 和button的区别及表单提交

在一个页面上画一个按钮&#xff0c;有四种办法&#xff1a;1 <input type"button" /> 这就是一个按钮。如果你不写javascript 的话&#xff0c;按下去什么也不会发生。2 <input type"submit" /> 这样的按钮用户点击之后会自动提交 form&#…

多人编辑同一个md_# 欢迎使用 Markdown在线编辑器 MdEditor

欢迎使用 Markdown在线编辑器 MdEditorMarkdown是一种轻量级的「标记语言」Markdown是一种可以使用普通文本编辑器编写的标记语言&#xff0c;通过简单的标记语法&#xff0c;它可以使普通文本内容具有一定的格式。它允许人们使用易读易写的纯文本格式编写文档&#xff0c;然后…

apple usb ethernet adapter驱动_佳能Canon PIXMA MG3620一体机驱动下载 v1.01官方版

软件标签&#xff1a;佳能MG3620是一款无线喷墨多功能一体机&#xff0c;拥有打印、复印、扫描等多种功能&#xff0c;并且支持手机控制进行操作&#xff0c;可以大大地提高办公效率。如果你遇到了该一体机连接电脑时无反应&#xff0c;那就是缺少了小编推荐的佳能MG3620驱动程…

图解Javascript——作用域、作用域链、闭包

什么是作用域&#xff1f; 作用域是一种规则&#xff0c;在代码编译阶段就确定了&#xff0c;规定了变量与函数的可被访问的范围。全局变量拥有全局作用域&#xff0c;局部变量则拥有局部作用域。 js是一种没有块级作用域的语言(包括if、for等语句的花括号代码块或者单独的花括…

android 监测bug上传到服务器,基于Android 错误信息捕获发送至服务器的详解

程序员最头疼的事情就是bug和debug。这次debug长达20天&#xff0c;搞的我心力交瘁。累&#xff0c;因为Android兼容性&#xff0c;不同手机会有不同的bug出来&#xff0c;而且很难复现&#xff0c;所以就上网找了下类似保存错误log到文件再上传到服务器&#xff0c;现把源码也…

除了欧拉公式,这8个数学公式也足够美丽且神奇

来源&#xff1a;算法与数学之美1概率分布公式

20 ubuntu 中科大源_Ubuntu18.04更换国内源(阿里,网易,中科大,清华等源)

Ubuntu18.04更换国内源(阿里&#xff0c;网易&#xff0c;中科大&#xff0c;清华等源)ubuntu源路径&#xff1a;/etc/apt/sources.list1. 备份/etc/apt/sources.list文件mv /etc/apt/sources.list /etc/apt/sources.list.backup2. 新建/etc/apt/sources.list文件&#xff0c;并…

canvas rotate 累加旋转_震惊,canvas文字粒子效果,只需要100行代码,简单易懂。

震惊,canvas文字粒子效果&#xff0c;只需要100行代码&#xff0c;简单易懂。canvas是使用JavaScript程序绘图(动态生成),相比于css&#xff0c;可以更加简单方便的绘制细节的样式。其中最强大的功能莫过去像素的处理。一个像素一个像素去绘制任何想要的展示效果。接下来&#…

SET ARITHABORT ON 对UI的影响

今天在live上出现一件很奇怪的事情&#xff0c;就是有一部分User首页上的My action item处于一直loading的状态&#xff0c;而运行SP的时候内容是可以拉出来的&#xff0c;排查出来的结果是ARITHABORT option是off的&#xff0c;今天就来脑补一下这个ARITHABORT。 Microsoft De…

CES 2020前瞻:一份最全的趋势预测报告

来源&#xff1a; CES20202020年&#xff0c;消费级技术领域的总体趋势可以总结为&#xff1a;最顶尖的产品将变得更强大、更完善。虽然我们并不喜欢“溢价”这个已经被用滥了的字眼&#xff0c;但不得不承认&#xff0c;新一年中溢价会成为新的常态。最好的东西会变得更好&…

Android pda出入库管理,出入库PDA管理系统软件

随着经济的高速发展&#xff0c;市场的日新月异&#xff0c;仓库管理越来越重要起来&#xff0c;企业里从原料的入库到成品的出库都需经过仓库来管理控制&#xff0c;仓库工作责任重大、数据即时准确犹为关键&#xff0c;现代企业大多都借助出入库管理系统软件来管控仓库&#…

backlog配置_TCP/IP协议中backlog参数

TCP建立连接是要进行三次握手&#xff0c;但是否完成三次握手后&#xff0c;服务器就处理(accept)呢&#xff1f;backlog其实是一个连接队列&#xff0c;在Linux内核2.2之前&#xff0c;backlog大小包括半连接状态和全连接状态两种队列大小。半连接状态为&#xff1a;服务器处于…

一棵树的生物量怎么算_桂花开花小、开花少怎么办?四点建议送给你!

原标题&#xff1a;桂花开花小、开花少怎么办&#xff1f;四点建议送给你&#xff01;虽然冬天绝大多数桂花都处在休眠期&#xff0c;生长缓慢&#xff0c;不开花&#xff0c;但四季桂花是个例外&#xff0c;只要温度合适养护得当&#xff0c;冬天也能让我们闻到桂花香。桂花开…

面向对象(特点)、局部变量与全局变量的区别、匿名对象、构造函数、

一、 1&#xff0c;本文档为记录练习面向对象学习的文档。 2&#xff1a; 面向对象的三大特点&#xff1a; 1&#xff09;、封装&#xff1a;隐藏对象的属性和实现细节&#xff0c;仅对外提供公共访问方式&#xff0c; 优点&#xff1a;1、隔离了变化。 2、…

28篇标志性论文见证「自然语言处理NLP」2019-2020年度亮点进展

来源&#xff1a;专知【导读】自然语言处理专家elvis在medium博客上发表了关于NLP在2019年的亮点总结。对于自然语言处理&#xff08;NLP&#xff09;领域而言&#xff0c;2019年是令人印象深刻的一年。在这篇博客文章中&#xff0c;我想重点介绍一些我在2019年遇到的与机器学习…

spark while_05_尚硅谷大数据技术之Spark内核解析(1.1) - 十一vs十一

尚硅谷大数据课程之Spark内核解析(作者&#xff1a;尚硅谷大数据研发部)官网&#xff1a;版本&#xff1a;V1. Spark 内核概述Spark内核泛指Spark的核心运行机制&#xff0c;包括Spark核心组件的运行机制、Spark任务调度机制、Spark内存管理机制、Spark核心功能的运行原理等&am…

python中难的算法_一个python的比较难的算法,有懂的人可以进来一下

问 题我的需求:结构数据是这样的:要求按照这样的公式:组合一: 时间词地方词动词等级名词价格词&#xff1b;比如2016年深圳大鹏新区给健康全身检查要多少钱就是按照这样的公式组合出来的关键词那么有什么办法用最短的办法来实现,我下面是我的算法,用pandas的算法:for times in …

android 进程管理机制,Android的进程管理机制

Linux系统对进程的管理方式是一旦进程活动停止&#xff0c;系统就会结束该进程。Android系统虽基于Linux&#xff0c;但在进程管理上&#xff0c;采取了另外一种机制。当当前进程活动停止时&#xff0c;系统并不会立即结束当前进程&#xff0c;而是会将该进程保存在内存中&…