Cod sursa(job #159851)

Utilizator sealTudose Vlad seal Data 14 martie 2008 14:30:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>
#define Mod 1999999973
long long a,n,ans=1;

void read()
{
    freopen("lgput.in","r",stdin);
    scanf("%lld%lld",&a,&n);
}

void solve()
{
    while(n)
    {
        if(n&1)
            ans=ans*a%Mod;
        n>>=1; a=a*a%Mod;
    }
}

void write()
{
    freopen("lgput.out","w",stdout);
    printf("%lld\n",ans);
}

int main()
{
    read();
    solve();
    write();
    return 0;
}