pascal高手来.这题的递推式是什么?

问题描述:

pascal高手来.这题的递推式是什么?
【问题描述】从前有个人名叫小明,他有着天才般的逻辑思维能力.他珍藏了许多的宝.在他离世之后留给人一个难题,如果谁能轻松回答出这问便可以继承的宝藏.题目是这样的:
有这么一个长为N宽为2的墙壁,给你两种切糕:一个长 2宽 1,另一个是 L型覆盖 3个单元的切糕,切糕可以旋转,并且两种无限提供.请你计算用这来覆盖N*2的墙 壁,有多少种覆盖方.注意可以混合使用两种切糕.现在给定你一个N,2*N的墙壁覆盖方法,由于结果很大只要求出最后方案数 mod k 的答案就可以得到宝藏了.
【输入 格式 】
输入文件名为 输入文件名为 输入文件名为 thegameofxm.in
输入只有一行,n,k
【输出 格式 】
输出文件名为thegameofxm .out .
输出只有一行,即题目中所要求的答案.
【输入样例】 thegameofxm.in
13 10000
【输出样例】thegameofxm.out
3465
【数据范围】
对于 60%的数据,1≤n≤1000
对于 100%的数据, 1≤n≤10000000,1≤k≤10000 .
好的给追加~!
1个回答 分类:综合 2014-11-10

问题解答:

我来补答
是a[x]:=a[x-1]+a[x-2]+a[x-3]+a[x-4]
x-1,x-2不解释,x-3是两个结合,x-4是L型的2个加一个小的
没高精度的:
var
a1,a2,a3,a4,a5,a6,max,a:longint;
begin
readln(a1,a2);
case a1 of
1:write(1 mod a2);
2:write(2 mod a2);
3:write(4 mod a2);
4:write(8 mod a2);
else begin
a3:=1;
a4:=2;
a5:=4;
a6:=8;
for a:=5 to a1 do
begin
max:=(a3+a4+a5+a6) mod a2;
a3:=a4;
a4:=a5;
a5:=a6;
a6:=max;
end;
write(max);
end; end; end.
可能多了一个end 自己去吧
 
 
展开全文阅读
剩余:2000