Zliczanie liczby mnożeń

0

Witam, mam do napisania algorytm potęgowania liczby a metodą dziel i zwyciężaj. Napisałem takie coś w pseudokodzie

POW(a,n)
1. if n == 0 OR a == 1
2.     return 1
3. if n == 1
4.     return a
5. if n%2 == 0
6.     k <- 1
7. else
8.     k <- a
9. return POW(a,n/2) * POW(a,n/2) * k;

Jak wyliczyć z tego liczbę mnożeń np. dla a = 2 i n = 64?

0

Może tak:

ileMnożeń <- 0
...
3. if n == 1
4.     return a
5. ileMnożeń <- ileMnożeń+2
6. if n%2 == 0
...
0
if n<2 OR a==1
      return 0;
return 2*log2(n)

1 użytkowników online, w tym zalogowanych: 0, gości: 1