Cod sursa(job #352744)

Utilizator nightwish0031Vlad Radu Cristian nightwish0031 Data 3 octombrie 2009 12:57:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include<stdio.h>
#define MODUL 1999999973

long long put ( int n , int k )
{
	if ( k == 0 ) return 1 ;
	if ( k % 2 == 0 )
		return  put ( ((long long)n*n)%MODUL , k/2 )%MODUL ;
	return   ( ( (long long)n * put ( (long long) n*n%MODUL , k/2 )  )%MODUL ) ;
}

int main ( )
{
	freopen ( "lgput.in" , "r", stdin ) ;
	freopen ( "lgput.out", "w", stdout ) ;
	
	int n , k ;
	scanf ( "%d%d", & n , & k ) ;
	
	printf ( "%lld" , put ( n , k ) ) ;
	
	return 0 ;
}