Naloga: program Potenca/Rešitev (Mathematica)

Iz MaFiRaWiki

Neučinkovita rešitev

potenca[x_, 0] := 1
potenca[x_, n_] :=  x potenca[x, (n - 1)]


Učinkovita rešitev

potenca[x_, 0] := 1
potenca[x_, n_] := If[OddQ[n], x potenca[x x, (n - 1)/2], potenca[x x, n/2]]

steviloMnozenj[0] := 0
steviloMnozenj[1] := 0
steviloMnozenj[n_] := If[OddQ[n], 2 + steviloMnozenj[(n - 1)/2], 1 + steviloMnozenj[n/2]]
ListPlot[Table[steviloMnozenj[n], {n, 0, 1000}]]

image:steviloMnozenj.jpg

Glej tudi

Osebna orodja