Cod sursa(job #149541)
Utilizator | Data | 5 martie 2008 20:36:20 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.41 kb |
#include <stdio.h>
int main()
{FILE *fin,*fout;
long int a,n,putere;
fin=fopen("lgput.in","r");
fscanf(fin,"%ld %ld",&a,&n);
fclose(fin);
putere=1;
while (n)
{if (n%2) putere*=a;
if (putere>1999999973) putere=putere%1999999973;
n=n/2;
a=a*a;
}
fout=fopen("lgput.out","w");
fprintf(fout,"%ld",putere);
fclose(fout);
return 0;
}