Cod sursa(job #211837)

Utilizator IAmASuperCerealVictor Andrei IAmASuperCereal Data 3 octombrie 2008 18:45:33
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.4 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;}