Cod sursa(job #1126154)
| Utilizator | Data | 26 februarie 2014 21:34:18 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
#include <algorithm>
#include <vector>
#include <cstring>
#define MOD 1999999973
using namespace std;
ifstream in ( "lgput.in" );
ofstream out ( "lgput.out" );
int N , P ;
long long Sol;
int main ( void )
{
in >> N >> P ;
Sol = 1 ;
while ( P )
{
if ( P % 2 )
Sol = ( Sol * N ) % MOD;
N = ( N*N ) % MOD;
P = P >> 1;
}
out << Sol << "\n";
in.close();
out.close();
return 0;
}