算法训练 瓷砖铺放  
时间限制:1.0s   内存限制:512.0MB
锦囊1
锦囊2
锦囊3
问题描述
有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?
  例如,长度为4的地面一共有如下5种铺法:
  4=1+1+1+1
  4=2+1+1
  4=1+2+1
  4=1+1+2
  4=2+2
  编程用递归的方法求解上述问题。
输入格式
只有一个数N,代表地板的长度
输出格式
输出一个数,代表所有不同的瓷砖铺放方法的总数
样例输入
4
样例输出
5

思路分析:

一开始这个题我想用递归去往一个数组中添加一和二,看是否在某一个时刻,数组内的和为N。这个思路并没有做出来。

参考了网上的代码,发现自己真的很菜。。。 由于这个题不需要输出组成的序列,只输出总的数目即可,所以每次递归是的变量加一或者加二,然后根据回溯法的思想,如果加上一小于等于N则调用pudiban(val+1),如果加上二小于等于N则调用pudiban(val+2),实际上不用判断val是否会超出N,因为在调用这一层函数的时候已经判断过了。

代码:


import java.util.Scanner;public class Main瓷砖铺法 {static Scanner scan = new Scanner(System.in);static int N;static int count = 0;public static void main(String[] args) {N = scan.nextInt();pudiban(0);System.out.println(count);}private static void pudiban(int val) {if (val == N) {count++;return;}if (val + 1 <= N) {pudiban(val + 1);}if (val + 2 <= N) {pudiban(val + 2);}}}

算法训练 瓷砖铺放 【递归】java相关推荐

  1. 算法训练 瓷砖铺放 递归

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

  2. 瓷砖铺放 java_算法训练 瓷砖铺放 【递归】java

    算法训练 瓷砖铺放 时间限制:1.0s   内存限制:512.0MB 锦囊1 锦囊2 锦囊3 问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为 ...

  3. java 蓝桥杯算法训练 瓷砖铺放(题解)

    试题 算法训练 瓷砖铺放 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限 ...

  4. [Java] 蓝桥杯ALGO-11 算法训练 瓷砖铺放

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

  5. 蓝桥杯算法训练 瓷砖铺放JAVA

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

  6. 蓝桥杯 ALGO-11算法训练 瓷砖铺放(递归/动态规划)

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

  7. 蓝桥杯 算法训练 瓷砖铺放Python实现(递归)

    资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺 ...

  8. 试题 算法训练 瓷砖铺放

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

  9. 蓝桥杯 ALGO-11 算法训练 瓷砖铺放

    问题描述 有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限.要将这个长度为N的地板铺满,一共有多少种不同的铺法? 例如,长度为4的地面一共有 ...

最新文章

  1. spring aop使用详解
  2. 多维数据查询效率分析(1)
  3. JUC并发编程三 并发架构--线程运行原理
  4. SQL2005中的XXproperty() 函数归纳
  5. Hybris CronJob.
  6. 用户体验改善案例_优化用户体验案例研究的五种方法
  7. linux系统优化篇之---top
  8. ppt讲解中的过渡_PPT黑科技,只用一张图做出3D动画
  9. arcgispython空间插值_基于python的空间距离权重计算——arcgis中的arcpy
  10. 字节跳动 2022 校园招聘研发提前批正式启动!
  11. 从数据仓库系统对比看Hive发展前景
  12. 各计算机系统用传输介质互连,计算机网络技术与应用.doc
  13. POJ--3984--迷宫问题
  14. 项目管理工具之SWOT分析法
  15. BUW EMX (Expert Moldbase Extentions) 13.0.2.1 x64 for Creo
  16. java ffmpge转换,java调用ffmpeg实现视频转换的方法
  17. JS定时器原理及案例
  18. UI设计书籍推荐,这三本好书你不能错过
  19. android 4.4.4最新微信,微信旧版本安卓4.4.4可用
  20. xx-Pixiv Spider

热门文章

  1. 算法很美 将整数的奇偶位互换
  2. 多模块项目-项目复制出现Module xx must not contain source root xx The root already belongs to module xx
  3. 乐视2(X620)刷机日记
  4. 关于安卓视频加水印与剪辑功能实现
  5. STM32F103高级定时器死区时间的计算
  6. 使用GDAL工具对OrbView-3数据进行正射校正
  7. mysqli mysql assoc_mysqli_fetch_assoc()期望参数1为mysqli_result或如何获取MySQLi
  8. 2019网络直播稳中有变:直播带货火出圈 5G带来弯道超车新机会
  9. 【Web3 系列开发教程——创建你的第一个 NFT(9)】如何在手机钱包里查看你的 NFT
  10. 89. 格雷编码 Python