Cod sursa(job #1021574)

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

FILE *f=fopen("lgput.in","r");
FILE *g=fopen("lgput.out","w");

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

int main()
{
    max=10001;
	sol=1;
    fscanf(f,"%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;
    }

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