Mai intai trebuie sa te autentifici.
Cod sursa(job #443150)
| Utilizator | Data | 16 aprilie 2010 09:28:30 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.38 kb |
#include<fstream.h>
#define x 1999999973
ifstream f("lgput.in");
ofstream g("lgput.out");
long long n,p;
long long put(long long p,long long n)
{ if(n==0)return 1;
if(n==1)return p;
if(n%2)return p*(put(p,(n-1)>>1)%x)*(put(p,(n-1)>>1)%x)%x;
return (put(p,(n)>>1)%x)*(put(p,(n)>>1)%x)%x;
}
int main()
{ f>>p>>n;
g<<put(p,n);
f.close();
g.close();
return 0;
}
