Pagini recente » Cod sursa (job #763402) | Cod sursa (job #967195) | Cod sursa (job #2153395) | Cod sursa (job #2939) | Cod sursa (job #2423306)
#include <stdio.h>
//returneaza rezultatul ridicarii lui n la puterea p
long long int power2(long long int n, long long int p)
{
if (p == 1)
return n % 1999999973;
if (p == 0)
return 1;
if (p % 2 == 0)
return (power2(n, p / 2) * power2(n, p / 2)) % 1999999973;
else
return ((power2(n, p / 2) * power2(n, p / 2) ) % 1999999973 * n) % 1999999973;
}
long long int power(long long int n, long long int p)
{
long long int rez = n;
while(p!=1){
if (p % 2 == 0)
{
rez = rez * rez;
rez %= 1999999973;
p /= 2;
}
if (p % 2 == 1 && p != 1)
{
rez = rez * n;
p--;
}
}
return rez;
}
int main()
{
FILE *fL = fopen("Lgput.in", "r");
long long int n, p;
fscanf(fL,"%lli", &n);
fscanf(fL, "%lli", &p);
fclose(fL);
FILE *fL2 = fopen("Lgput.out", "w");
fprintf(fL2, "%lli\n", power2(n, p));
fclose(fL2);
//system("pause");
return 0;
}