Cod sursa(job #1576339)

Utilizator andreigeorge08Sandu Ciorba andreigeorge08 Data 22 ianuarie 2016 12:11:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 kb
#include <fstream>

using namespace std;

int main()
{
    int a,n,prod,x=1999999973;
    ifstream fin("lgput.in");
    ofstream fout("lgput.out");
    fin>>a>>n;
    prod=1;
    while(n>0){
        if(n%2 == 1){
            prod=(1LL*prod * a) % x;
            n--;
        }
        n/=2;
        a=(1LL*a*a)%x;
    }
    fout<<prod;
    fin.close();
    fout.close();
    return 0;
}