Cod sursa(job #1671928)
| Utilizator | Data | 2 aprilie 2016 11:37:31 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("date.in");
ofstream fout("date.out");
int b,a,c;
const int mod=1999999973;
long long lgpow(long long baza,int exp)
{
if (exp==0)
return 1;
int semipow=lgpow(a,exp/2);
semipow=((long long)semipow*semipow)%mod;
if(exp%2==0)
return semipow;
else
return ((long long)semipow*baza)%mod;
}
/// (a * b) % MOD = (a % MOD * b % MOD) % MOD;
int main()
{
fin>>a>>b;
fout<<lgpow(a,b);
return 0;
}
