Cod sursa(job #3226131)
| Utilizator | Data | 20 aprilie 2024 10:18:06 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include <fstream>
#define int long long
using namespace std;
ifstream cin("lgput.in");
ofstream cout("lgput.out");
const int mod=1999999973;
int put(int baza, int exponent)
{
if(exponent==1)
return baza%mod;
if(exponent%2==0)
return ((put(baza, exponent/2)%mod)*(put(baza, exponent/2)%mod))%mod;
return put(baza, exponent-1)%mod;
}
signed main()
{
int n,p;
cin>>n>>p;
cout<<put(n,p);
return 0;
}
