Cod sursa(job #529185)
| Utilizator | Data | 4 februarie 2011 14:45:53 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.39 kb |
#include <stdio.h>
#define MOD 1999999973
using namespace std;
int n,p,a,i;
long long rez,v;
int main()
{
rez=1;
FILE * f;
f=fopen("lgput.in","r");
FILE * g;
g=fopen("lgput.out","w");
fscanf(f,"%d %d",&n,&p);
v=n;
for (i=0;(1<<i)<=p;i++)
{
if (((1<<i) & p)>0)
rez=(rez*v)%MOD;
v=(v*v)%MOD;
}
fprintf(g,"%d",rez);
fclose(f);
fclose(g);
return 0;
}
