Cod sursa(job #352725)

Utilizator alutzuAlexandru Stoica alutzu Data 3 octombrie 2009 12:23:45
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>

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

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 ;
}