Cod sursa(job #449998)

Utilizator RegeleUmbrelorPopescu Mihai RegeleUmbrelor Data 7 mai 2010 15:47:32
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
const long long D=1999999973;
long long a,p;

void lgput(long long a,long long n)
{
    long long p=1;
    while(n!=0)
    {
        if(n%2!=0)
            p=((p%D)*(a%D))%D;
        a=((a%D)*(a%D))%D;
        n/=2;
    }
    printf("%ld", p);
}


void citire()
{
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    scanf("%ld%ld", &a, &p);
    lgput(a,p);

}

int main()
{
    citire();
    return 0;
}