Cod sursa(job #728954)
| Utilizator | Data | 29 martie 2012 09:45:27 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.41 kb |
#include<fstream>
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");
long long n,p,a,put;
int purtare(int a,int f){
if(f==0 || f==1)
return a%1999999973;
if(f%2==0)
return purtare((long long)a*a%1999999973 , f/2)%1999999973;
return (long long)a*purtare((long long)a*a%1999999973 , f/2)%1999999973;
}
int main(){
in>>n>>p;
out<<purtare(n,p)%1999999973;
return 0;
}
