Cod sursa(job #2155184)
Utilizator | Data | 7 martie 2018 17:48:53 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.4 kb |
#include <fstream>
typedef unsigned int uint;
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
const uint mod = 1999999973;
uint n, m, p, sol, a;
int main()
{
fin >> n >> m;
p = n, sol = 1;
for ( uint i = 1; i <= m; i <<= 1 )
{
if ( i & m )
sol *= p, sol %= mod;
p *= p, p %= mod;
}
fout << sol;
}