Cod sursa(job #802295)

Utilizator icb_mnStf Cic icb_mn Data 26 octombrie 2012 12:41:42
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.35 kb
#include<fstream>
#define M 1999999973
#define ULL unsigned long long
using namespace std;

ifstream f("lgput.in");
ofstream g("lgput.out");

ULL n, p;

int main()
{
    f>>n>>p;
    ULL val = 1;
    for(ULL i = p; i; i>>=1)
    {
        if(i & 1) val = (val * n ) % M;
        n = (n * n) % M;
    }
    g<<val<<'\n';

    g.close();
}