Cod sursa(job #571750)

Utilizator Rares95Rares Arnautu Rares95 Data 4 aprilie 2011 19:15:45
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
	
  # include <fstream>
  # define MOD 199999997
	using namespace std;
	
	int n, k, i;
	long long sol = 1, a;
	
	int main () {
		
		std :: ifstream f ( "lgput.in" );
		std :: ofstream g ( "lgput.out");
		
		f >> n >> k;
		a = n;
		
		for ( i = 0; ( 1 << i ) <= k; ++i ) {
			if ( ( 1 << i ) & k ) sol = ( sol * a ) % MOD;
			a = ( a * a ) % MOD;
		}
		
		g << sol << '\n';
		
		g.close ();
		return 0;
		
	}