算法訓練 瓷磚鋪放
時間限制:1.0s 內存限制:512.0MB
問題描述
有一長度為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
編程用遞歸的方法求解上述問題。
例如,長度為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 { static int n; static int result=0; static void getresult(int len){ if(len==n) {result++; return ;} if(len>n) return; if(len+1<=n) getresult(len+1); if(len+2<=n) getresult(len+2); } public static void main(String[] args) { // TODO Auto-generated method stub
Scanner sc=new Scanner(System.in); n=sc.nextInt(); int len=0; getresult(len); System.out.println(result); } }