Cod sursa(job #634721)
| Utilizator | Data | 16 noiembrie 2011 22:43:12 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 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 ) );
fclose( out );
fclose( f );
getchar();
return 0;
system( "pause" );
}
