Cod sursa(job #2155762)

Utilizator CristyXtremeSimion Cristian CristyXtreme Data 8 martie 2018 08:46:47
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <cstdio>

using namespace std;

int mod=1999999973;

long long int ridicare_la_putere(long long int n,long long int p)
{
    long long int sol=n;
    n=1;
    for(;p;p>>=1)
    {
        if(p&1)
            n*=sol%mod;
        sol*=sol%mod;
    }
    return n;
}

int main()
{
    long long int n,p;
    FILE *f=fopen("lgput.in","r"),*g=fopen("lgput.out","w");
    fscanf(f,"%lli %lli",&n,&p);
    fprintf(g,"%lli",ridicare_la_putere(n,p));
    return 0;
}