Cod sursa(job #2586301)
Utilizator | Lazar Razvan Gabriel RazvanLazar2004 | Data | 20 martie 2020 13:42:54 |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include<fstream>
#include<cmath>
using namespace std;
int main(){
ifstream cin("lgput.in");
ofstream cout("lgput.out");
long long int n,p,i,l=1,m=1999999973;
cin>>n>>p;
while(l<m && p){
l*=n;
p--;
}
if(p==0){
cout<<l;
}else{
long long int copie=1;
for(long long int i=1;i<=p;i++){
copie*=n;
}
while(p){
l*=n;
l-=m;
p--;
}
cout<<l*copie%m;
}
}