Cod sursa(job #1776141)
Utilizator | Data | 10 octombrie 2016 22:57:16 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include <iostream>
#include<fstream>
using namespace std;
#define RR 1999999973
long long n,p;
long long P(long long x,long long k)
{
if(k<2)return x;
if (k%2>0)return(P(x,k-1)*x%RR);
else return (P(x,k/2)*P(x,k/2)%RR);
}
int main()
{
ifstream f("lgput.in");
f>>n>>p;
f.close();
n=P(n,p);
ofstream g("lgput.out");g<<n;g.close();
return 0;
}