Cod sursa(job #3218576)
Utilizator | Diaconu Andreea Andreea3425 | Data | 27 martie 2024 13:11:45 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <fstream>
using namespace std;
ifstream cin ("lgput.in");
ofstream cout ("lgput.out");
enum { MOD = 1999999973 };
int p( int b, int e ) {
if ( !e )
return 1;
if ( e % 2 )
return ((long long)b * p( ((long long)b * b) % MOD, e / 2 )) % MOD;
return p( ((long long)b * b) % MOD, e / 2 ) % MOD;
}
int main()
{
int n,put;
cin >> n >> put;
cout << p(n, put) << '\n';
return 0;
}