Cod sursa(job #1515742)
Utilizator | Iorgulescu Matei matei1404014 | Data | 2 noiembrie 2015 09:27:01 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.62 kb |
#include <iostream>
#include <fstream>
#include <cstring>
#include <cstdio>
using namespace std;
int v[35];
int main()
{
freopen ("lgput.in","r",stdin);
freopen ("lgput.out","w",stdout);
int i,c=0;
long long r,n,p,prod=1;
scanf("%lld %lld",&n,&p);
for(i=0;i<32;i++)
if(x&(i<<i))
v[c++]=1;
else
v[c++]=0;
/*while(p)
{
v[c++]=p%2;
p/=2;
}*/
r=n;
for(i=0;i<c;i++)
{
if(v[i])
prod=prod*r%1999999973;
r=r*r%1999999973;
}
printf("%lld\n",prod);
return 0;
}