Mai intai trebuie sa te autentifici.
Cod sursa(job #1910383)
| Utilizator | Data | 7 martie 2017 16:39:55 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 kb |
#include<cstdio>
const int MOD = 1999999973;
long long unsigned putere(long long unsigned n, long long unsigned p)
{
long long unsigned sol;
sol = 1;
while(p)
{
if(p & 1)
{
sol = (sol*n) % MOD;
p--;
}
n = (n*n) % MOD;
p >>= 1;
}
return sol;
}
int main()
{
long long unsigned n, p;
FILE *fin, *fout;
fin = fopen("lgput.in","r");
fout = fopen("lgput.out","w");
fscanf(fin,"%llu%llu",&n,&p);
fprintf(fout,"%llu\n",putere(n,p));
fclose(fout);
return 0;
}
