Cod sursa(job #2070058)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 19 noiembrie 2017 10:42:27
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream>
using namespace std;
int putere(int a, int b)
{
    int p=a;
    while(b>1)
    {
        if(b%2==1)
            {
                p=p*a;
                b-=1;
            }
        else
        {
                p*=p;
                b/=2;
        }
    }
    return p;
}
int main()
{
    int N, P;
    cin >> N >> P;
    if(P!=0)
        cout << putere(N,P);
    else cout << "1";
    return 0;
}