蓝桥杯 算法训练 瓷砖铺放

曾经终败给现在 2022-04-23 12:38 295阅读 0赞
  1. 问题描述
  2.   有一长度为N(1<=N<=10)的地板,给定两种不同瓷砖:一种长度为1,另一种长度为2,数目不限。要将这个长度为N的地板铺满,一共有多少种不同的铺法?
  3.   例如,长度为4的地面一共有如下5种铺法:
  4.   4=1+1+1+1
  5.   4=2+1+1
  6.   4=1+2+1
  7.   4=1+1+2
  8.   4=2+2
  9.   编程用递归的方法求解上述问题。
  10. 输入格式
  11.   只有一个数N,代表地板的长度
  12. 输出格式
  13.   输出一个数,代表所有不同的瓷砖铺放方法的总数
  14. 样例输入
  15. 4
  16. 样例输出
  17. 5
  18. import java.util.Scanner;
  19. public class Main{
  20. public static int n,sum=0;
  21. public static void main(String[] args) {
  22. Scanner s=new Scanner(System.in);
  23. n=s.nextInt();
  24. pu(1);
  25. pu(2);
  26. System.out.println(sum);
  27. }
  28. public static void pu(int tile) {
  29. if(tile==n) {
  30. sum++;
  31. return;
  32. }
  33. if(tile>n) {
  34. return;
  35. }
  36. pu(tile+1);
  37. pu(tile+2);
  38. }
  39. }

发表评论

表情:
评论列表 (有 0 条评论,295人围观)

还没有评论,来说两句吧...

相关阅读

    相关 地毯

    为了准备一个学生节,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限铺上一些矩形地毯。一共有n 张地毯,编号从1 到n。现在将这些地毯按照编号从小到大的顺序平行于坐

    相关 算法训练 瓷砖

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