Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/maritim intre reviziile 7 si 61 | Diferente pentru algoritmiada-2009 intre reviziile 20 si 26 | Monitorul de evaluare | Cod sursa (job #2509471)
#include <fstream>
using namespace std;
ifstream f ("lgput.in");
ofstream g ("lgput.out");
long long n,p,a[1001],i,j,m=1999999973,nr=1,k;
int main()
{
f>>n>>p;
k=n;
while (p)
{
a[i]=p%2;
p/=2;
i++;
}
for (j=0;j<i;j++)
{
if (a[j]==1) nr=((nr%m)*k)%m;
k=((k%m)*(k%m))%m;
}
g<<nr;
return 0;
}