三、题目:第39阶台阶
小明刚刚看完电影《第39级台阶》。离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!
站在台阶前,他突然又想着一个问题:
如果我每一步只能迈上1个或2个台阶。先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?
请你利用计算机的优势,帮助小明寻找答案。


分析:可以使用模式匹配法:递归法
f(n)=f(n-1)+f(n-2)
倒推:怎么走到38阶或是37阶,38阶怎么到37阶或是36阶。。。。。。
代码;

#include<iostream>
using namespace std;int ans;   //计数void f(int n,int step){  //n:剩下的阶梯数,step:已走的步数 if(n<0)return;if(n==0&&step%2==0){ ans++; return;}f(n-1,step+1);f(n-2,step+1);}  int main(){f(39,0);cout<<ans<<endl;return 0;} 


五、题目:前缀判断
填空题
如下的代码判断 needle_start指向的串是否为haystack_start指向的串的前缀,如不是,则返回NULL。

比如:”abcd1234” 就包含了 “abc” 为前缀
题目代码如下:

char* prefix(char* haystack_start, char* needle_start)
{
char* haystack = haystack_start;
char* needle = needle_start;
while(*haystack && *needle){
if(______________________________) return NULL; //填空位置
}
if(*needle) return NULL;
return haystack_start;
}


答案:((haystack)!=(needle)++)
需要分析代码的思路

haystack:元字符串
needle:前缀字符串

#include<iostream>
using namespace std;char* prefix(char* haystack_start, char* needle_start)
{char* haystack = haystack_start;char* needle = needle_start;while(*haystack && *needle){  //两个指针都没有越界 if(*(haystack)!=*(needle)++) return NULL;  //先取内容,然后再移动指针//填空位置}  //移动指针//并判断 if(*needle)   //needle前缀没有越界  return haystack_start;    //返回原字符串
}
int main(){cout<<prefix("abcd1234","abc");return 0;
}

2013蓝桥杯C++B:第39阶台阶(递归法);前缀判断相关推荐

  1. 第三届蓝桥杯省赛---第39级台阶

    第39级台阶 小明刚刚看完电影<第39级台阶>,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级! 站在台阶前,他突然又想着一个问题: 如果我每一步只能迈上1个或2个台阶.先迈左脚, ...

  2. 标题 错误票据c语言,内含答案的 -- 2013蓝桥杯C语言本科组B.doc

    内含答案的 -- 2013蓝桥杯C语言本科组B.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们 ...

  3. 2013蓝桥杯java试题_蓝桥杯2013决赛java本科b组试题.doc

    蓝桥杯2013决赛java本科b组试题.doc 试题一:公式求值问题描述输入n,m,k,输出下面公式的值.其中C_n^m是组合数,表示在n个人的集合中选出m个人组成一个集合的方案数.组合数的计算公式如 ...

  4. 蓝桥杯 算法训练 ALGO-932低阶行列式计算 python解法

    资源限制 内存限制:64.0MB   C/C++时间限制:1.0s   Java时间限制:3.0s   Python时间限制:5.0s 问题描述 给出一个n阶行列式(1<=n<=9),求出 ...

  5. 第十三届蓝桥杯嵌入式备赛-STM32G431-进阶模块调试⑦RTC时钟

    目录 0.前言 1.功能要求 2.STM32Cubemx初始化 3.程序实现 main.c相关初始化 RTC函数 RTC_CalendarGet()日期时间获取函数 设置日期RTC_SetDate和时 ...

  6. 2013蓝桥杯java试题_2013年第四届蓝桥杯javaB组 试题 答案 解析

    1.世纪末的星期 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月31日都 ...

  7. AcWing 蓝桥杯AB组辅导课 01、递归与递推

    文章目录 前言 一.递归 知识点 例题 题目1:AcWing 95.斐波那契数列[简单,递归写法] 题目2:AcWing 92.递归实现指数型枚举[简单] 题目3:AcWing 94.递归实现排列型枚 ...

  8. 【第十三届蓝桥杯省赛B组】统计子矩阵 (枚举前缀和+双指针)

    AcWing 4405. 统计子矩阵 来源:第十三届蓝桥杯省赛C++B组 给定一个 N×MN×M 的矩阵 AA,请你统计有多少个子矩阵 (最小 1×11×1,最大 N×MN×M) 满足子矩阵中所有数的 ...

  9. [蓝桥杯][算法提高VIP]阮小二买彩票[递归全排列]

    题目 1578: [蓝桥杯][算法提高VIP]阮小二买彩票 时间限制: 1Sec 内存限制: 128MB 提交: 348 解决: 153 题目描述 在同学们的帮助下,阮小二是变的越来越懒了, 连算账都 ...

最新文章

  1. 基于Apache Flink的爱奇艺实时计算平台建设实践
  2. mongodb-创建索引
  3. java web中炸包,Javaweb出来炸到---HTML
  4. 解决使用个推后背景音乐音量变小问题
  5. Python字典数据类型及基本操作
  6. 用稳压管保护单片机引脚_零基础入门单片机(2)学会控制IO引脚你就入门啦
  7. php中滚动显示文字,HTML如何实现文字的滚动效果
  8. matlab练习程序(三阶张量T-QR分解)
  9. 深入了解Android蓝牙Bluetooth——《基础篇》
  10. 常用工具及插件下载, [复制链接]
  11. 最新!2020中国高校毕业生薪资排行出炉!好过双一流的高校原来这么多
  12. 2021-05-22 Android 网络性能测试工具iperf详细使用方法
  13. 和利时DCS系统设服务器,和利时DCS系统全套资料.pdf
  14. 雷达原理---匹配滤波器原理及MATLAB仿真
  15. .net core | donet core IIS 文件路径问题
  16. HTTP首部字段脑图
  17. warmup lr+CosineAnnealingLR策略
  18. 翻译德文到中文,北京德文翻译哪家好?
  19. 驱动精灵2014网卡版 v8.0.515.1101 扩展版
  20. aoc u27u2d和u27u2有什么区别 哪个好详细性能配置对比

热门文章

  1. python爬虫步骤-黑客基础 编写Python爬虫入门步骤
  2. python入门指南by许半仙-推文:拯救书荒(短篇小甜饼合集)
  3. python画超长图-Python 拼接多张尺寸大小不一样的图片制作长图
  4. python里怎么读取文件-python之文件读写
  5. 国外大神一张图学会python-学习Python不得不关注和学习的国外大神博客
  6. 会聊天到底有多重要?汽车语音识别大盘点
  7. wincc和matlab通信,Matlab与WinCC之间的数据通信.doc
  8. 【深度优先搜索/树】计蒜客:族谱
  9. 【深度优先搜索】计蒜客:中国象棋
  10. 【数据结构和算法笔记】排序(1)排序概述