请问用PASCEL怎么编写 ,利用递归计算斐波那契数列的头20项之和.~~而且第0项与第1项的值不设定为0和1~
发布网友
发布时间:2022-05-02 08:40
我来回答
共2个回答
热心网友
时间:2023-10-14 06:40
//Item0, Item1为指定的第0项和第1项的值
function FibonacciSum(Item0, Item1: Integer; Index: Integer): Integer;
//子函数,求斐波拉契数列
function Fibonacci(Index: Integer): Integer;
begin
if Index = 0 then
Result := Item0
else if Index = 1 then
Result := Item1
else
Result := Fibonacci(Index - 2) + Fibonacci(Index - 1);
end;
begin
if Index = 0 then
Result := Item0
else
Result := FibonacciSum(Item0, Item1, Index - 1) + Fibonacci(Index);
end;
参考资料:http://zhidao.baidu.com/question/239932201.html
热心网友
时间:2023-10-14 06:41
:
program exp;
function feb(n:integer):integer;
begin
if n<=2 then feb:=1
else feb:=feb(n-1)+feb(n-2)
end;
var n:integer;
begin
readln(n);
writeln(feb(n))
end.
以上程序在DELPHI下调试通过,运行结果如下:
E:\ygb>dcc32 b.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
b.dpr(15)
16 lines, 0.06 seconds, 11044 bytes code, 1805 bytes data.
E:\ygb>b.exe
10
55
E:\ygb>b.exe
20
6765
E:\ygb>b.exe
30
832040