Cod sursa(job #1790211)
| Utilizator | Data | 27 octombrie 2016 21:31:32 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.7 kb |
#include <stdio.h>
#define MOD 1999999973
int putere(int a, int b)
{ int rez = 1;
while(b)
{
if(b % 2 == 0)
{
b = b / 2;
a = a * a;
a = a % MOD;
}
else
{
b = b - 1;
rez = rez * a;
rez = rez % MOD;
}
}
return rez;
}
int main()
{
FILE *f,*g;
long long a, b, rezultat;
f=fopen("lgput.in","r");
g=fopen("lgput.out","w+");
fscanf(f,"%d %d",&a,&b);
rezultat = putere(a % MOD,b % MOD);
fprintf(g,"%d",rezultat);
}
