斐波那契數列 選拔隊員

2021-06-01 06:17:11 字數 1442 閱讀 5481

var

t,m:longint;

jz:array[1..2,1..2]of longint;

n1,m1:longint;

procedure init;

begin

assign(input,'seat.in');

assign(output,'seat.out');

reset(input); rewrite(output);

end;

procedure terminate;

begin

close(input); close(output);

halt;

end;

procedure quick(m:longint);

var i,j,k:longint;

jz_t,jz_n:array[1..2,1..2]of longint;

begin

jz_t:=jz;

jz[1,1]:=1; jz[1,2]:=0;

jz[2,1]:=0; jz[2,2]:=1;

while n1<>0 do

begin

if n1 and 1=1 then

begin

fillchar(jz_n,sizeof(jz_n),0);

for i:=1 to 2 do

for j:=1 to 2 do

for k:=1 to 2 do

jz_n[i,j]:=(jz_n[i,j]+jz_t[i,k]*jz[k,j])mod m;

jz:=jz_n;

end;

fillchar(jz_n,sizeof(jz_n),0);

for i:=1 to 2 do

for j:=1 to 2 do

for k:=1 to 2 do

jz_n[i,j]:=(jz_n[i,j]+jz_t[i,k]*jz_t[k,j]) mod m;

jz_t:=jz_n;

n1:=n1 shr 1;

end;

end;

procedure main;

var i,x:longint;

ans:longint;

begin

readln(t,m);

for i:=1 to t do

begin

jz[1,1]:=0; jz[1,2]:=1;

jz[2,1]:=1; jz[2,2]:=1;

readln(n1);

quick(m);

writeln((jz[2,1]+jz[2,2])mod m);

end;

end;

begin

init;

main;

terminate;

end.

斐波那契數列 斐波那契數列python實現

斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又稱為 兔子數列 指的是這樣乙個數列 1 1 2 3 5 8 13 21 34 在數學上,斐波納契數列以如下被以遞推的方法定義 f 1 ...

迴圈斐波那契數列 斐波那契數列應用

什麼是斐波那契數列 斐波那契數列指的是這樣乙個數列 1,1,2,3,5,8,13,21,34,55,89,144 這個數列從第3項開始,每一項都等於前兩項之和 台階問題 有一段樓梯有10級台階,規定每一步只能跨一級或兩級,要登上第10級台階有幾種不同的走法?這就是乙個斐波那契數列 登上第一級台階有一...

斐波那契數列

1 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。斐波那契數列的定義如下 輸入 輸入可能包含多個測試樣例,對於每個測試案例,輸入包括乙個整數n 1 n 70 輸出 對應每個測試案例,輸出第n項斐波那契數列的值。2 這是九度上的乙個題,要求時間限制1秒,整數的...