Cod sursa(job #508491)
| Utilizator | Data | 8 decembrie 2010 17:43:45 | |
|---|---|---|---|
| Problema | Ridicare la putere in timp logaritmic | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.43 kb |
#include "stdio.h"
unsigned int lgput(unsigned int x, unsigned int n){
unsigned long int p=1;
while(n>0){
if(n%2){
p = p*x % 1999999973;
n--;
}
else{
x = x*x % 1999999973;
n /= 2;
}
}
return p;
}
int main(){
unsigned int a,b;
FILE *f,*g;
f = fopen("lgput.in","r");
g = fopen("lgput.out","w");
fscanf(f,"%d %d",&a,&b);
fprintf(g,"%d",lgput(a,b));
return 0;
}