题目描述

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?   当n=0时 ,target=0;   当n=1时 ,target=1;   当n=2时 ,target=2;   当n=3时 ,target=3;   当n=4时, targe=5;   当n=5时, targe=8;   此时不难得出规律:这又是个斐波那契数列。。。。。。。。   老样子,直接上代码:      

public int RectCover(int target) {
try {
if (target==0) {
return 0;
}
else if (target==1) {
return 1;
}
else if (target==2) {
return 2;
}else if (target==3) {
return 3;
}else if (target>3) {
return RectCover(target-1)+RectCover(target-2);
} else if (target <0) {
throw new Exception("不是整数");
}
} catch (Exception e) {
// TODO: handle exception
return -1;
}
return -1;
}

唉,后悔过去的二十年没有好好学数学。。。。。。   唉,把希望寄予下一代吧。。。。。。。。。。。。。   如果有小孩,一定得从小送他去奥数班才行。。。。。。。。  
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。