Cod sursa(job #1673212)
| Utilizator | Data | 3 aprilie 2016 15:58:56 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <stdio.h>
using namespace std;
#define MOD 1999999973
unsigned long long putere(unsigned long long x, unsigned long long y)
{
if(y == 0)
return 1;
unsigned long long z = putere(x, y/2);
if(y%2 == 0)
return (z*z) % MOD;
return ( ((z*z)%MOD) * x) % MOD;
}
int main()
{
unsigned long long x, y;
FILE* f = fopen("lgput.in", "r");
fscanf(f, "%llu%llu", &x, &y);
fclose(f);
f = fopen("lgput.out", "w");
fprintf(f, "%llu", putere(x,y));
fclose(f);
return 0;
}
