Cod sursa(job #1783753)
Utilizator | Data | 19 octombrie 2016 13:35:02 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <cstdio>
using namespace std;
int main()
{
int m, n;long long h=1999999973;
FILE
*in=fopen("lgput.in","r"),
*out=fopen("lgput.out","w");
fscanf(in,"%d%d",&n,&m);
long long pow=n,rez=1;
for (int i=0;1<<i<=m;++i)
{
if((1<<i)&m)rez=(long long)(rez%h*pow%h)%h;
pow=(long long)(pow%h*pow%h)%h;
}
fprintf (out,"%d",rez);
return 0;
}