Cod sursa(job #3235781)
Utilizator | Data | 21 iunie 2024 15:12:38 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.38 kb |
#include <fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
int lgpow(int n,int p,long long int MOD)
{
if(p==0)
return 1;
if(p%2==0)
return (lgpow(n*n,p/2,MOD)%MOD);
return (n*lgpow(n,p-1,MOD));
}
int main()
{
int n,p;
long long int MOD=1999999973;
in>>n>>p;
out<<lgpow(n,p,MOD)%MOD;
}