Pagini recente » Cod sursa (job #2268363) | Cod sursa (job #1000708) | Cod sursa (job #2896717) | Cod sursa (job #1916858) | Cod sursa (job #2456287)
#include <bits/stdc++.h>
#define MOD 1999999973
#define Nat long long
using namespace std;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
Nat P1(Nat a,Nat n)
{
Nat p=1;
while(n>0)
{
if(n%2==1) p=p*a%MOD;
n/=2;
a=a*a%MOD;
}
return p;
}
Nat P2(Nat a,Nat n)
{
Nat p=1,i;
Nat t[32];
t[0]=a;
for(i=1;i<=30;i++)
t[i]=t[i-1]*t[i-1]%MOD;
i=0;
while(n>0)
{
if(n%2==1) p=p*t[i]%MOD;
n/=2;
i++;
}
return p;
}
int main()
{
Nat a,n;
fin>>a>>n;
fout<<P2(a,n);
return 0;
}