Cod sursa(job #644576)
Utilizator | Data | 6 decembrie 2011 23:27:56 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<stdio.h>
#include<stdlib.h>
int putere( int n, int p ){
int aux;
if( p == 0 ) return 1;
else{
aux=putere( n, p/2 );
if( p % 2 == 0 ) return aux*aux ;
else return n*aux*aux ;
}
}
int main(){
FILE *f = fopen( "lgput.in", "r" );
FILE *out = fopen( "lgput.out", "w" );
int n,p;
fscanf( f, "%d%d", &n, &p );
printf("%d%d",n,p);
fprintf( out,"%d",putere( n, p )%1999999973 );
fclose( out );
fclose( f );
return 0;
}