Mam problem s vytvorenim programku v Delphi na vypocet n-teho clena Fibonnaciho posloupnosti.Nemohl by mi nekdo pomoci.Jsem zacatecnik.Dik Lenula.
Fórum › Delphi
Fibonacciho posloupnost
To lenula:tak už to mám,dík L.
heh...:D
Ne nemohli :)
Nikdo to tady nebude psát celé za tebe. Řekni, kde máš problém a my ti pomůžeme s řešením :smile14:
To Franta : Říkají ti něco cykly, rekurzí se to dá sice taky řešit, ale rozhodně ne tak, jak to píšeš ty, doporucil bych cyklus for
Bez rekurze to vyresit umim
function f(n:integer):integer;
var i,nova,druha,prvni:integer;
begin
prvni:=0;
druha:=1;
for i:=1 to n do
begin
nova:=prvni+druha;
prvni:=druha;
druha:=nova;
end;
f:=nova ;
end;
Ale potřebuji to mit udělane rekurzi, a hlavně to i pochopit potom.
To Franta : Tak ať se naučíš i něco jiného než rekurzi http://www.tvoritel.cz/fibonacciho-posloupnost-v-pascalu/
Nemůžu uvěřit tomu, že to bylo tak jednoduche, už mi to pěkně funguje a mužu pomoci této posloupnosti kouzlit :-) Jenom pro ty co by narazili na toto forum a řešili stejný problé tak syntaxe pro delphi je
function f(n:integer):integer;
begin
if n < 2 then result:=1
else
result:=f(n-1)+f(n-2);
end;
Kdy funkci zavoláte f(s parametrem n typu integer)
To Franta :
Fibonacciho posloupnost je definována takto: http://cs.wikipedia.org/wiki/Fibonacciho_posloupnost.
Takže jenom pro upřesnění - v tom prográmku jsou 2 chybky. Správně by to bylo nějak takto (asi úplně netrefím syntaxi :smile11:):
if n = 0 then result:=0
else begin
if n = 1 then result:=1
else
result:=f(n-1)+f(n-2);
end;
end;
Nebo pokud chceš ignorovat 0, tak alespoň:
if n < 3 then result:=1
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Fibonacciho posloupnost — založil lma22
Fibonacciho posloupnost — založil pav
Fibonacciho čísla — založil laney10
Fibonacciho postupnosť — založil Peto
Rozklad na soucet fibonacciho cisel — založil Janča