ďťż

Ładny brzuch

Jak przekształcić algorytm rekurencyjny na iteracyjny?

Mam do przekształcenia następujący algorytm:
a(1)=3 a(2)=5 a(n)=3*a(n-1)+1




Jak przekształcić algorytm rekurencyjny na iteracyjny?

Mam do przekształcenia następujący algorytm:
a(1)=3 a(2)=5 a(n)=3*a(n-1)+1

może po prostu umieszczaj kolejno dla każdego n wynik w tabeli
//sory nie pamiatam za dobrze  paskala wiec bedzie "pseudo kod" a[1]:=3, a[2]:=5; od i:=2 do n wykonaj  początek     a[i+1]:=3*a[i]+1;     i:=i+1;  //nie pamiętam czy w paskalu sie inkrementuje wewnatrz petli  koniec
po prostu trzeba wykonać n-2 działan a wynik bedzie w ostatnim
lepsze to niż rekurencja

No ja nie wiem co w tym jest trudnego pekore :P
function Algorytm(n: integer):integer; var  i,poprz,aktual:integer; begin  if n=1 then aktual:=3;  if n=2 then aktual:=5;  if n>2 then  begin    poprz:=5;    for i:=3 to n do    begin      aktual:=3*poprz+1;      poprz:=aktual;    end;  end;  Algorytm:=aktual; end;
PS. pewnie można to jakoś lepiej napisać, ale nie mam już sił dzisiaj myśleć.




No ja nie wiem co w tym jest trudnego pekore :P

Dzięki za odpowiedzi. Mam jeszcze jeden problem.

a(1)=3
a(2)=5
a(n)=3*a(n-2)+1

Jak napisać ten algorytm w sposób iteracyjny?

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •