不是VIP会员,不能显示答案

题目解答

题目:
program cz2011_4;
var n,a,b,c,d:longint;
procedure matric(var a,b,c,d:longint;n:longint);
var a1,b1,c1,d1,a2,b2,c2,d2,a3,b3,c3,d3:longint;
begin
if n=1 then begin a:=0;b:=1;c:=1;d:=1;exit;end;
matric(a1,b1,c1,d1,n div 2);
matric(a2,b2,c2,d2,n div 2);
a3:=a1*a2+b1*c2;
b3:=a1*b2+b1*d2;
c3:=c1*a2+d1*c2;
d3:=c1*b2+d1*d2;
if n mod 2=1 then begin
a:=b3;b:=a3+b3;c:=d3;d:=c3+d3;
end
else begin
a:=a3;b:=b3;c:=c3;d:=d3;
end;
end;
begin
read(n);
if n<3 then writeln(1)
else begin
matric(a,b,c,d,n-2);
writeln(c+d);
end;
end.

输入1:
3

输入2:
11


输出:2|89
考点:
分析:
解答:
评论:
老师: