Pagini recente » Cod sursa (job #453409) | Cod sursa (job #910914) | Cod sursa (job #2076353) | Cod sursa (job #30417) | Cod sursa (job #2402579)
#include <iostream>
#include <fstream>
using namespace std;
int y;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
int functie_de_ridicare_la_putere_2(int x,int n)
{
if(n<0)
{
x=1/x;
n=-n;
}
if(n==0)
{
return 1;
}
y=1;
while(n>1)
{
if(n%2==0)
{
x=x*x;
n=n/2;
}
if(n%2==1)
{
y=y*x;
x=x*x;
n=(n-1)/2;
}
}
return x*y;
}
long long functie_de_ridicare_la_putere(long long N,long long P)
{
if(P==0)
{
return 1;
}
if(P==1)
{
return N;
}
else
if(P%2==0)
{
return functie_de_ridicare_la_putere(N*N,P/2)%1999999973;
}
else
{
return N*functie_de_ridicare_la_putere(N*N,(P-1)/2)%1999999973;
}
}
int main()
{ long long N,P;
fin>>N>>P;
fout<<functie_de_ridicare_la_putere(N,P);
}