Pagini recente » Cod sursa (job #3253218) | Cod sursa (job #2496463) | Cod sursa (job #2208208) | Cod sursa (job #2313385) | Cod sursa (job #2296124)
#include <iostream>
#include <fstream>
using namespace std;
long long putere(long long N,long long P)
{
if(N==0) //daca numarul este zero, oricare ar fi puterea lui, afisam 1
return 1;
if(P==1) //daca puterea este 1, oricare ar fi numarul, rezultatul este el insusi
return N%1999999973;
if(P%2==0) //daca puterea este para
return putere(N*N%1999999973,P/2)%1999999973;
else //daca puterea este impara
return N*putere(N*N%1999999973,(P-1)/2)%1999999973;
}
int main()
{
ifstream fin("lgput.in");
ofstream fout("lgput.out");
long long N,P;
fin>>N>>P;//citim numarul si puterea
fout<<putere(N,P); //afisam ridicarea la putere
fin.close();
fout.close();
return 0;
}