Cod sursa(job #2258869)

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