求斐波那契数列log(n) pascal算法程序如题,注意是Log(n)

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 03:20:04
求斐波那契数列log(n) pascal算法程序如题,注意是Log(n)

求斐波那契数列log(n) pascal算法程序如题,注意是Log(n)
求斐波那契数列log(n) pascal算法程序
如题,注意是Log(n)

求斐波那契数列log(n) pascal算法程序如题,注意是Log(n)
用矩阵加速
[ f(n+1) ] [1 1] [ f(n) ]
=
[ f(n) ] [1 0] [ f(n-1)]
不停的迭代就行了
递归求解,log(n)的
program fibonacci;
type
matrix=array[1..2,1..2] of qword;
var
c,cc:matrix;
n:integer;
function multiply(x,y:matrix):matrix;
var
temp:matrix;
begin
temp[1,1]:=x[1,1]*y[1,1]+x[1,2]*y[2,1];
temp[1,2]:=x[1,1]*y[1,2]+x[1,2]*y[2,2];
temp[2,1]:=x[2,1]*y[1,1]+x[2,2]*y[2,1];
temp[2,2]:=x[2,1]*y[1,2]+x[2,2]*y[2,2];
exit(temp);
end;
function getcc(n:integer):matrix;
var
temp:matrix;
t:integer;
begin
if n=1 then exit(c);
t:=n div 2;
temp:=getcc(t);
temp:=multiply(temp,temp);
if odd(n) then exit(multiply(temp,c))
else exit(temp);
end;
procedure init;
begin
readln(n);
c[1,1]:=1;
c[1,2]:=1;
c[2,1]:=1;
c[2,2]:=0;
if n=1 then
begin
writeln(1);
halt;
end;
if n=2 then
begin
writeln(1);
halt;
end;
cc:=getcc(n-2);
end;
procedure work;
begin
writeln(cc[1,1]+cc[1,2]);
end;
begin
init;
work;
end.

求斐波那契数列log(n) pascal算法程序如题,注意是Log(n) pascal 中 log(n) 输入斐波那契数列的第N项的位置PASCAL Pascal 斐波那契数列求和输入n,求斐波那契数列第一项加到第n项的和..例:输入5 (1 1 2 3 5)输出:12 求各种斐波那契数列的pascal题目! 斐波那契数列(兔子繁殖数列),pascal语言,高精度做~❀❤ Pascal:用递归函数求斐波那契数列的第n项·用递归函数输出斐波那契数列(0,1,1,2,3,5,8,13……)的第n项·哥哥姐姐帮帮忙啊···· pascal 裴波那契数列1.裴波那契数列:数列1、1、2、3、5、8、13、21…称为裴波那契数列,它的特点是:数列的第一项是1,第二项也是1,从第三项起,每项等于前两项之和.编程输入一个正整数N,求出 pascal斐波那契数列 要用repeat语句做求数列:1,1,2,3,5,8,13,21,34,55,……的第n项的值. JAVA:求斐波那契数列第n项需求:求斐波那契数列第n项,n 用C语言求斐波那契数列第n项? 求斐波那契数列的第N项VFP程序 求斐波那契数列第n项值得shell编程? pascal高精度的斐波那契数列的第n项?斐波那契数列就是0,1,1,2,3,5,8,13,21,34,55……从第三项起,每一项都是紧挨着的前两项的和.以上就是斐波那契数列.输入第几项,输出第几项的值.程序要配有分 free pascal In(n)与log(n) 怎么表达?可以用函数. pascal问题 一个递推数列,输入n,输出f[n]; n 斐波那契数列求和1 pascal语言 Description f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2)其中n大于等于3.然后给出x,y,求出斐波那契数列的第x项到第y项的和.Input 第一行两个整数x,y,其中x和y都不大于1000000Output 一行一 斐波那契 FREE PASCAL菲波那契数列(fbnq.pas)菲波列为1,1,2,3,5,8,13,21,…其元素产生的规则是前两个数为1,从第三个数开始,每个数等于它前面两个数之和.输入n(n