Cod sursa(job #1968473)

Utilizator Horia14Horia Banciu Horia14 Data 17 aprilie 2017 18:31:51
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include<cstdio>
using namespace std;

unsigned n, p;
const int MOD = 1999999973;

long long Pow(unsigned x, unsigned y)
{
    long long sol, a;
    sol = 1;
    a = x;
    while(y)
    {
        if(y & 1)
        {
            sol = (sol*a) % MOD;
            y--;
        }
        a = (a*a)%MOD;
        y >>=1;
    }
    return sol;
}

int main()
{
    FILE *fin, *fout;
    fin = fopen("lgput.in","r");
    fout = fopen("lgput.out","w");
    fscanf(fin,"%u%u",&n,&p);
    fprintf(fout,"%lld\n",Pow(n,p));
    fclose(fin);
    fclose(fout);
    return 0;
}