Pagini recente » Cod sursa (job #1235360) | Cod sursa (job #2999262) | Cod sursa (job #3137889) | Cod sursa (job #2143143) | Cod sursa (job #2402563)
#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;
}
int functie_de_ridicare_la_putere(int N,int 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);
}
else
{
return N*functie_de_ridicare_la_putere(N*N,(P-1)/2);
}
}
int main()
{ int N,P;
fin>>N>>P;
fout<<functie_de_ridicare_la_putere(N,P)%1999999973;
}