Pagini recente » Profil BuruianaRaresAndrei | Cod sursa (job #187579) | Monitorul de evaluare | Cod sursa (job #93940) | Cod sursa (job #177218)
Cod sursa(job #177218)
#include <stdio.h>
#include <stdlib.h>
#define FIN "lgput.in"
#define FOUT "lgput.out"
#define MODULO 1999999973
int power( int N, int P )
{
int t;
if ( !P ) return 1;
if( !(P % 2) )
{
t = power( N, P / 2);
return ( ( long long )t * t ) % MODULO ;
}
else
return (( long long ) N * power( N, P - 1)) % MODULO;
}
int main()
{
int N, P;
FILE * fin = fopen( FIN, "r" );
FILE * fout = fopen( FOUT, "w" );
fscanf( fin, "%d%d", &N, &P );
fprintf( fout, "%d\n", power( N, P ));
fclose( fin );
fclose( fout);
}