Cod sursa(job #1021573)

Utilizator LiquironIvan Liviu-Marian Liquiron Data 3 noiembrie 2013 23:10:14
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include <stdio.h>
#include <string.h>
#define m 1999999973

freopen("lgput.in","r",stdin);
freopen("lgput.out","w",stdout);

int i,n,p,max;
long long a;

int main()
{
    max=10001;
	sol=1;
    scanf("%d%d",&n,&p);
    a=n;
    for (i=0;(1<<i)<=p;++i)
    {
		if (((1<<i)&p)>0)
            sol=(sol*a)%m;
		a=(a*a)%m;
    }

    printf("%lld\n",sol);
	return 0;
}