Cod sursa(job #869248)

Utilizator TeOOOVoina Teodora TeOOO Data 1 februarie 2013 10:32:44
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>

//Definitii
#define ll long long

//Constante
const ll modulo=1999999973;

//Variabile
FILE *in,*out;

ll number, power, answer=1;//

int main()
{
    in=fopen("lgput.in","rt");
    out=fopen("lgput.out","wt");
    fscanf(in,"%lld%lld",&number, &power);

    for(int i=0 ; (1<<i)<=power ; ++i)
    {
        if( (1<<i) & power)
            answer = (answer * number) % modulo;
        number = (number * number) % modulo;
    }

    fprintf(out,"%lld",answer);


    fclose(in);
    fclose(out);
    return 0;
}