Cod sursa(job #2423281)
Utilizator | Moldovan Dragos dragosmdv | Data | 20 mai 2019 23:14:49 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <stdio.h>
//returneaza rezultatul ridicarii lui n la puterea p
int pow(int n, int p)
{
if (p == 1)
return n;
if (p == 0)
return 1;
if (p % 2 == 0)
return pow(n, p / 2) * pow(n, p / 2);
else
return pow(n, p / 2) * pow(n, p / 2) * n;
}
int main(int argc, char**argv)
{
FILE *fL = fopen("Lgput.in", "r");
FILE *fL2 = fopen("Lgput.out", "w");
int n, p;
fscanf(fL,"%d", &n);
fscanf(fL, "%d", &p);
fclose(fL);
fprintf(fL2, "%d\n", pow(n, p));
fclose(fL2);
//system("pause");
return 0;
}