Ściągnąłem sobie arkusz i przykładowe rozwiązania z CKE i jest tam obliczyć a^n:
Można zauważyć, że an=a(n/2)* a^(n/2) gdy n>1.
Przykładowe rozwiązanie podane jest takie:
krok 1: p := a
krok 2: dopóki n > 1 wykonuj
krok 2.1: p := p * p
krok 2.2: n := n div 2
krok 3: wynikiem jest p
a czy przypadkiem nie powinno być tak ?
krok 1: p := a
krok 2: dopóki n > 1 wykonuj
krok 2.1: p := a * p <<<< właśnie tak
krok 2.2: n := n div 2
krok 3: wynikiem jest p
Mam rację ?