Cod sursa(job #251457)
| Utilizator | Data | 2 februarie 2009 18:26:38 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include<fstream.h>
unsigned long n;
const a=1999999973;
unsigned long hatvany(unsigned long x){
unsigned long s;
if(x==1)
return n;
else
s=hatvany(x/2)%a;
if(x%2==0)
return (s*s)%a;
else
return (((s*n)%a)*(s%a)))%a; }
int main(void) {
ifstream f("lgput.in");
ofstream g("lgput.out");
unsigned long p;
f>>n>>p;
g<<hatvany(p)%a;
return 0; }
