Cod sursa(job #2199005)

Utilizator daniel.vbVasile Daniel daniel.vb Data 26 aprilie 2018 09:28:33
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <stdio.h>

#define R 1999999973

int main ()
{
    unsigned long long int n,p,m;
    FILE *f,*g;

    f=fopen("lgput.in","r");
    g=fopen("lgput.out","w");

    fscanf(f,"%llu%llu",&n,&p);
    m=1;
    if(p==0)
        n=1;
    if(p>1)
    {
        while(p>=2)
        {
            if(p%2==1)
                m=m*n%R;
            n=n*n%R;
            p=p/2;
        }
        n=n*m%R;
    }
    fprintf(g,"%llu\n",n);
    fclose(f);
    fclose(g);
}