蓝桥杯 《第39级台阶》

2024-09-01 19:58
文章标签 蓝桥 台阶 39

本文主要是介绍蓝桥杯 《第39级台阶》,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:(奇葩的想法...)
 如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多
少种不同的上法呢?

 请你利用计算机的优势,帮助小明寻找答案。

要求提交的是一个整数。
注意:不要提交解答过程,或其它的辅助说明文字。


解析:

    首先,分析题目要求,每一步只能迈1/2个台阶;最后一步必须是右脚(即步数为偶数);

    假设最后一步恰好到达39级台阶,则前一步所处的位置是38/37级台阶,此时的步数为奇数。

根据要求写出初步的框架,

    

    由此得出,  n级台阶    f(n)    剩余台阶数     所走步数

               当n==1时,   f(n-1)      1          step%2==1

               当n==2时,   f(n-2)      1          step%2==1  


    然后,正向推导,

          当n==1级  走法有0种

          当n==2级  走法有1种(1+1)

          当n==3级  走法有2种(1+2/2+1)

          当n==4级  走法有2种(1+1+1+1/2+2)

           ......

          当n==37级  走法有f(n-2)+1种      剩余2级台阶 return step%2;//只保留奇数步的结果,保证最后一步是右脚

          当n==38级  走法有f(n-1)+1种      剩余1级台阶 return 1;


#include <stdio.h>int f(int n,int step){if(n==0) return 0;if(n==1)  //第38级台阶return step%2;    //保证最后一步迈出的是右脚if(n==2 ) //第37级台阶return 1;return f(n-1,step+1)+f(n-2,step+1);//step是步数,每次只走一步
}int main(void){int step = f(39,0);	//step 代表的是步数, printf("%ld\n",step);return 0; }

另附一组经典解法(转):


这篇关于蓝桥杯 《第39级台阶》的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127898

相关文章

C语言蓝桥杯

一、语言基础 竞赛常用库函数 最值查询 min_element和max_element在vector(迭代器的使用) nth_element函数的使用 例题lanqiao OJ 497成绩分析 第一种用min_element和max_element函数的写法 第二种用min和max的写法 二分查找 二分查找只能对数组操作 binary_s

找不同-第15届蓝桥省赛Scratch初级组真题第4题

[导读]:超平老师的《Scratch蓝桥杯真题解析100讲》已经全部完成,后续会不定期解读蓝桥杯真题,这是Scratch蓝桥杯真题解析第183讲。 如果想持续关注Scratch蓝桥真题解读,可以点击《Scratch蓝桥杯历年真题》并订阅合集,查阅教程更方便。 第15届蓝桥杯省赛已于2024年8月24日落下帷幕,编程题一共有5题,分别如下: 猪八戒落地 游乐场 画西瓜 找不同 消

【蓝桥杯嵌入式(一)程序框架和调度器】

蓝桥杯嵌入式(一)程序框架和调度器 序、代码命名规则零、STM32和8051⼀、软件及环境安装⼆、⼯程框架搭建1.时钟配置2、SYS配置3、⼯程配置4、NVIC配置5.、Keil配置 三、系统初始化四、任务调度器 链接: 视频出处 序、代码命名规则 以下是一些常见的举例 零、STM32和8051 链接: 8位和32位单片机最本质区别 ⼀、软件及环境安装

数据库系统 第39节 数据库性能监控工具

数据库性能监控工具是数据库管理系统(DBMS)中非常重要的一部分,它们帮助数据库管理员(DBA)和开发人员了解数据库的运行状况,识别性能瓶颈,并进行相应的优化。以下是一些常见的数据库性能监控工具及其功能: SQL Profiler: 用途:SQL Profiler 是一个用于跟踪数据库系统中 SQL 语句执行的工具。它可以捕获和显示关于 SQL Server 操作的详细执行信息。功能:它可以记

【蓝桥杯嵌入式(二)Led、Key、Lcd】

蓝桥杯嵌入式(二)Led、Key、Lcd 五、Led模块1.原理图配置2. 知识点3.底层代码 六、Key模块1.原理图配置2.知识点3.底层代码底层代码(四⾏代码版本)底层代码(状态机版本) 七、LCD模块1.原理图配置2.知识点底层代码 五、Led模块 1.原理图配置 2. 知识点 链接: 上拉电阻的通俗解释 链接: 单⽚机怎么输出⾼电平!推挽输出和开

【全网最全】2024年数学建模国赛D题39页成品论文+matlab代码+结果等(后续会更新)

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年数学建模国赛D题39页成品论文+matlab代码+结果等(后续会更新)「首先来看看目前已有的资料,还会不断更新哦~一次购买,后续不会再被收费哦,保证是全网最全资源,随着后续内容更新,价格会上涨,越早购买,价格越低,让大家再也不需要到处买断片资料啦~💰💸👋」👋更新39页成品论文+mat

蓝桥杯:整数删除

// 蓝桥杯整数删除.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include<stdio.h>#define MAX 100void findmin(int a[],int n,int& pos){int min=a[0];pos=0;//pos=0我开始忘了,特别注意

牛客《剑指Offer》 变态跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 根据 普通的跳台阶可以总结出 f(n) = f(n-1) + f(n-2) +f(n-3) + 。。。。+ f(1) +1 不妨设 f(0) = 1 , 则易得 class Solution {public:int jumpFloorII(int n

牛客《剑指Offer》 跳台阶

题目描述 一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 思路 递归思想,n阶梯子走法等于n-1 加上n-2的。 class Solution {public:int jumpFloor(int number) {if(number==1) return 1;if(number==2) return 2;return jumpFl

第十五届蓝桥杯图形化省赛题目及解析

第十五届蓝桥杯图形化省赛题目及解析 一. 单选题 1. 运行以下程序,角色会说( )? A、29     B、31     C、33     D、35 正确答案:C 答案解析: 重复执行直到m>n不成立,即重复执行直到m<=n。所有当m小于或者 等于n时,循环结束。循环过程中变量m与变量n的变化如下表: 通过上述表格可知,循环到第五次循环结束。m的值为14,n的值为19