Cod sursa(job #157474)
Utilizator | Data | 13 martie 2008 01:02:24 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <stdio.h>
long long pow( long long x, long long n )
{
if ( n == 0 )
return 1;
if ( n % 2 )
return x * pow(x*x,(n-1)/2);
else
return pow(x*x, n/2);
}
int main()
{
long long x, n;
freopen( "lgput.in", "rt", stdin );
freopen( "lgput.out", "wt", stdout );
scanf( "%lld %lld", &x, &n );
printf( "%lld\n", (pow( x, n )%1999999973) );
return 0;
}