Cod sursa(job #588654)
| Utilizator | Data | 8 mai 2011 23:37:34 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<fstream>
#define c 1999999973;
using namespace std;
int hatvany(long n,long p){
if(p==0)
return 1;
else
if(p%2==0){
int h=hatvany(n,p/2);
return (h*h)%c;
}
else{
int h=hatvany(n,p/2);
return (h*h*n)%c;
}
}
int main(){
fstream f,g;
f.open("lgput.in",ios::in);
g.open("lgput.out",ios::out);
long n,p;
f>>n>>p;
g<<hatvany(n,p);
f.close();
g.close();
}