/* 程序问题注释开始
-
程序的版权和版本声明部分
-
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);
}
}
运行结果: