f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)) mod 7.给定A,B和n的值,要求计算f(n)的值.typearr=array[1..2,1..2]of longint;varnow,d:arr;n:longint;procedure init;vara,b:longint;beginassign(input,'sequence.in');reset(input);assign(output,'sequence.out'
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/13 11:41:41
![f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)) mod 7.给定A,B和n的值,要求计算f(n)的值.typearr=array[1..2,1..2]of longint;varnow,d:arr;n:longint;procedure init;vara,b:longint;beginassign(input,'sequence.in');reset(input);assign(output,'sequence.out'](/uploads/image/z/13335204-12-4.jpg?t=f%281%29%3D1%2Cf%282%29%3D1%2Cf%28n%29%3D%28A%2Af%28n-1%29%2BB%2Af%28n-2%29%29+mod+7.%E7%BB%99%E5%AE%9AA%2CB%E5%92%8Cn%E7%9A%84%E5%80%BC%2C%E8%A6%81%E6%B1%82%E8%AE%A1%E7%AE%97f%28n%29%E7%9A%84%E5%80%BC.typearr%3Darray%5B1..2%2C1..2%5Dof+longint%3Bvarnow%2Cd%3Aarr%3Bn%3Alongint%3Bprocedure+init%3Bvara%2Cb%3Alongint%3Bbeginassign%28input%2C%27sequence.in%27%29%3Breset%28input%29%3Bassign%28output%2C%27sequence.out%27)
f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)) mod 7.给定A,B和n的值,要求计算f(n)的值.typearr=array[1..2,1..2]of longint;varnow,d:arr;n:longint;procedure init;vara,b:longint;beginassign(input,'sequence.in');reset(input);assign(output,'sequence.out'
f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)) mod 7.给定A,B和n的值,要求计算f(n)的值.
type
arr=array[1..2,1..2]of longint;
var
now,d:arr;
n:longint;
procedure init;
var
a,b:longint;
begin
assign(input,'sequence.in');
reset(input);
assign(output,'sequence.out');
rewrite(output);
readln(a,b,n);
now[1,1]:=a mod 7;now[1,2]:=1;
now[2,1]:=b mod 7;now[2,2]:=0;
d[1,1]:=1;d[1,2]:=1;
d[2,1]:=0;d[2,2]:=0;
end;
function cheng(a,b:arr):arr;
begin
cheng[1,1]:=(a[1,1]*b[1,1]+a[1,2]*b[2,1])mod 7;
cheng[1,2]:=(a[1,1]*b[1,2]+a[1,2]*b[2,2])mod 7;
cheng[2,1]:=(a[2,1]*b[1,1]+a[2,2]*b[2,1])mod 7;
cheng[2,2]:=(a[2,1]*b[1,2]+a[2,2]*b[2,2])mod 7;
end;
function try(now:arr;n:longint):arr;
begin
if n=1 then try:=now
else
if n and 1=1 then try:=cheng(now,try(cheng(now,now),n div 2))
else try:=try(cheng(now,now),n div 2);
end;
procedure main;
begin
n:=n-2;
now:=try(now,n);
writeln(cheng(d,now)[1,1]);
end;
begin
init;
if n
f(1)=1,f(2)=1,f(n)=(A*f(n-1)+B*f(n-2)) mod 7.给定A,B和n的值,要求计算f(n)的值.typearr=array[1..2,1..2]of longint;varnow,d:arr;n:longint;procedure init;vara,b:longint;beginassign(input,'sequence.in');reset(input);assign(output,'sequence.out'
看下面超链接,希望对您有用,一直看没人给您回答!
。。。。。