Cod sursa(job #571750)
| Utilizator | Data | 4 aprilie 2011 19:15:45 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
# include <fstream>
# define MOD 199999997
using namespace std;
int n, k, i;
long long sol = 1, a;
int main () {
std :: ifstream f ( "lgput.in" );
std :: ofstream g ( "lgput.out");
f >> n >> k;
a = n;
for ( i = 0; ( 1 << i ) <= k; ++i ) {
if ( ( 1 << i ) & k ) sol = ( sol * a ) % MOD;
a = ( a * a ) % MOD;
}
g << sol << '\n';
g.close ();
return 0;
}
