Mam problem ze zliczeniem ilosci mnozen w szybkim potęgowaniu iteracyjnym.
Dla np 2^4 powinno wyswietlac "ilosc mnozen: 2, a wyswietla 3. Gdzie tkwi problem?
#include<iostream>
using namespace std;
long long potegowanie(long long p, unsigned int w) // p-podstawa, w-wykladnik
{
long long x = 1;
int i=0;
while(w>0)
{
if (w%2 == 1)
x *= p;
p*= p;
w/=2;
i++;
}
cout<<"Liczba mnozen: "<<i<<endl;
return x;
}
int main()
{
long long p;
unsigned int w;
cin>>p>>w;
cout<<potegowanie(p, w)<<endl;
return 0;
}