Cod sursa(job #1124719)
Utilizator | Data | 26 februarie 2014 13:27:15 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<fstream>
using namespace std;
long long n,k,p,c,y,z,x,r;
fstream fin,fout;
int main()
{
fin.open("lgput.in",ios::in);
fout.open("lgput.out",ios::out);
fin>>n>>p;
x=p;
c=1999999973;
z=n%c;
y=1;
while(x>0)
{
r=x%2;
if(r==1)
{
y=(y*z)%c;
}
x=x/2;
z=(z*z)%c;
}
fout<<y;
fin.close();
fout.close();
return 0;
}