Cod sursa(job #2258864)

Utilizator dinugaftonGafton Dinu dinugafton Data 12 octombrie 2018 12:06:26
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include<bits/stdc++.h>
using namespace std;
long long n,a,k=1999999973;
long long put(long long n, long long a){
	if(n==0)return 1;
	if(n==1)return a;
	else
	if(n%2==0)return put(n/2,a*a);
	else
	return put(n/2,(a%k*a%k)%k)*a;
}
int main(){
	ifstream cin("lgput.in");
	ofstream cout("lgput.out");
	cin>>n;
	cin>>a;
	cout<<put(n,a);
	return 0;
}