Cod sursa(job #1408848)
| Utilizator | Data | 30 martie 2015 11:50:47 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <iostream>
#include <fstream>
#define mod 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
long long x,y;
int exp (long long a,long long p )
{int x;
if(p==0) return 1%mod;
else if(p==1) return a%mod;
if(p%2==0) return ((exp(a,p/2)%mod)*(exp(a,p/2)%mod)%mod);
else if (p%2==1)return ((exp(a,p-1)%mod)*(a%mod))%mod;
}
int main()
{
f>>x>>y;
g<<exp(x,y)%mod;
return 0;
}
