Zliczanie liczby mnożeń

LI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

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

Kopiuj
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?

bogdans
  • Rejestracja: dni
  • Ostatnio: dni
0

Może tak:

Kopiuj
ileMnożeń <- 0
...
3. if n == 1
4.     return a
5. ileMnożeń <- ileMnożeń+2
6. if n%2 == 0
...
_13th_Dragon
  • Rejestracja: dni
  • Ostatnio: dni
0
Kopiuj
if n<2 OR a==1
      return 0;
return 2*log2(n)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.