Cod sursa(job #3357326)
| Utilizator | Data | 8 iunie 2026 20:36:17 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | c-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <stdio.h>
int main(void)
{
FILE *fin = fopen("lgput.in", "r");
FILE *fout = fopen("lgput.out", "w");
long long N, P;
fscanf(fin, "%lld %lld", &N, &P);
long long mod = 1999999973;
long long rezultat=1;
while (P>0)
{
if (P%2==1) //P impar
rezultat = (rezultat * N) % mod;
N = (N*N) % mod;
P = P/2;
}
fprintf(fout, "%lld", rezultat);
fclose(fin);
fclose(fout);
return 0;
}