Cod sursa(job #676768)
| Utilizator | Data | 9 februarie 2012 16:21:58 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.42 kb |
#define mod 1999999973
#include<stdio.h>
using namespace std;
long int putere(long int a, long int b)
{
long int rezultat=1;
while(b)
{
if(b%2)
rezultat=(a*a)%mod;
a=(a*a)%mod;
b/=2;
}
return rezultat;
}
int main()
{
FILE *f=fopen("lgput.in","r"),*g=fopen("lgput.out","w");
long int a,b;
fscanf(f,"%dl %dl", &a, &b);
fprintf(g,"%dl", putere(a,b));
fclose(f);
fclose(g);
return 0;
}