Cod sursa(job #664438)

Utilizator a96tudorAvram Tudor a96tudor Data 20 ianuarie 2012 09:07:29
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.39 kb
#include<cstdio>
#define m 1999999973
using namespace std;
long long n,a,p,i;
int x,y;
int main()
{
    freopen("logput.in","r",stdin);
    freopen("logput.out","w",stdout);
    scanf("%d%d",&x,&y);
    a=x;
    p=y;
    n=1;
    for (i = 0; (1<<i) <= p; i++)
    {
    if ( ((1<<i) & p) > 0)

    n= (n * a) % m;
    a=(a * a) % m;
    }
    printf("%lld",n);
    return 0;
}