【蓝桥杯】瓷砖铺放(Java实现)


/* 程序问题注释开始

  • 程序的版权和版本声明部分

  • Copyright © 2020,湖南工程职业技术学院信息工程学院学生

  • 文件名称: 蓝桥杯赛题

  • 作 者: 李 斌

  • 完成日期: 2020 年 04 月 12日

  • 对任务及求解方法的描述部分

  • 问题描述
      有一长度为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

  • 程序问题注释结束

*/


import java.util.Scanner;
public class Main {
    
    

	public static void main(String[] args) {
    
    
		// TODO 自动生成的方法存根
		Scanner in=new Scanner(System.in);
		//用户输入地板总长度
		int n=in.nextInt();
		//调用并输出
		System.out.println(Tile(n));
	}
	public static int Tile(int n)
	{
    
    
		//退出条件1
		if(n==1)
		{
    
    
			return 1;
		}
		//退出条件2
		if(n==2)
		{
    
    
			return 2;
		}
		//重复
		return Tile(n-1)+Tile(n-2);
	}
}

运行结果:
运行结果

猜你喜欢

转载自blog.csdn.net/qq_46354133/article/details/105466072