Cod sursa(job #854957)

Utilizator RamaStanciu Mara Rama Data 14 ianuarie 2013 13:51:31
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>
#include <string.h>



int main()
{
    FILE*f,*g;
    f=fopen("lgput.in","r");
    g=fopen("lgput.out","w");
    int N, P,m = 1999999973;
    long long a, rez= 1;
    fscanf(f,"%d %d", &N, &P);
    a=N;;
    for (int i=0; (1<<i)<=P; ++ i)
    {
        if ( ((1<<i) & P) > 0) rez=(rez*a)%m;
        a=(a*a)%m;
    }
    fprintf(g,"%lld\n",rez);
}