Cod sursa(job #1689569)

Utilizator sorynsooSorin Soo sorynsoo Data 14 aprilie 2016 12:53:50
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");

#define MAXN 1999999973

long long ridicare_putere(long long nr, long long putere)
{
    long long rez = 1;
    while(putere)
    {
        if( putere%2 == 1 )
        {
            rez *= nr;
            putere--;
        }
        
        nr*=nr;
        putere/=2;
    }
    
    return rez;
}
int main()
{
    long long nr, putere;
    cin>>nr>>putere;
    cout<<ridicare_putere(nr, putere);
    return 0;
}