Nu aveti permisiuni pentru a descarca fisierul grader_test10.ok
Cod sursa(job #177218)
Utilizator | Data | 12 aprilie 2008 14:13:50 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#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);
}