Cod sursa(job #1450697)

Utilizator TimoteiCopaciu Timotei Timotei Data 14 iunie 2015 13:40:50
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<fstream>

using namespace std;
const int mod = 1999999973;
int n,p;
int main()
{
    ifstream f("lgput.in");
    ofstream g("lgput.out");
    f>>n>>p;
    if(p==0)
    {
        g<<"1";
        return 0;
    }
    int sol=1;
    while(p)
        if(p%2==0)
    {
        n=n*n%mod;
        p/=2;
    }
    else
    {
        sol=sol*n%mod;
        p--;
    }
    g<<sol;
    return 0;
}