Cod sursa(job #211841)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 3 octombrie 2008 18:50:22
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>    
long long unsigned n,p,k=1999999973;    
void solve()  
 {    
	long long unsigned i,x,sol=1;    
	scanf("%lld%lld",&n,&p);    
	x=n;    
	for(i=0; (1<<i)<=p; ++i)  
	{    
	if(((1<<i)&p)>0)    
	sol=(sol*x)%k;    
    x=(x*x)%k;  
	}    
	printf("%lld",sol);  
  }    
  int main()  
  {    
	freopen("lgput.in","r",stdin);    
	freopen("lgput.out","w",stdout);    
	solve();    
	return 0;}