Cod sursa(job #2043687)
| Utilizator | Data | 20 octombrie 2017 12:57:20 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <fstream>
using namespace std;
ifstream F("lgput.in");
ofstream G("lgput.out");
long long n, p;
const int MOD = 1999999973;
long long put( long long n, long long p )
{
if( !p ) return 1;
if( p == 1 ) return n;
long long aux = put( n , p / 2 );
aux = ( 1LL * aux * aux ) % MOD;
if( p % 2 ) aux = ( 1LL * aux * n ) % MOD;
return aux;
}
int main()
{
F >> n >> p;
G << put( n , p );
return 0;
}
