Cod sursa(job #1294975)
Utilizator | Data | 18 decembrie 2014 16:45:31 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.47 kb |
#include <fstream>
using namespace std;
int MOD= 1999999973;
ifstream in( "lgput.in" );
ofstream out( "lgput.out" );
int rezolv( int x, int y )
{
int sol= 1;
for( int i= 1; i<=y; i*=2 )
{
if( (y&i)!=0 )
{
sol= ((long long)x*sol)%MOD;
}
x= ((long long)x*x)%MOD;
}
return sol;
}
int main( )
{
int N, P;
in >> N >> P;
out << rezolv( N, P ) << '\n';
return 0;
}