Cod sursa(job #361451)
| Utilizator | Data | 5 noiembrie 2009 10:02:24 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.44 kb |
#include<stdio.h>
#define mod 1999999973
long n,m;
long putere ( long a, long b){
if( b ){
if( b & 1 ) return( (putere( a , b/2 ))%mod * (putere( a , b/2 ))%mod * (a%mod)) ;
else return ( (putere( a , b/2 ))%mod * (putere( a , b/2 ))%mod );
}
return 1;
}
int main(){
FILE *f=fopen("lgput.in", "r");
FILE *g=fopen("lgput.out","w");
fscanf(f,"%ld%ld",&n,&m);
fprintf(g,"%ld",putere(n,m));
return 0;
}