Cod sursa(job #2902709)
Utilizator | Data | 16 mai 2022 18:55:22 | |
---|---|---|---|
Problema | Ridicare la putere in timp logaritmic | Scor | 0 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
long int power(int x, int n)
{
long int result = 1;
while(n!=0)
{
if(n%2==1)
{
result*=x;
n=n-1;
}
if(n>0)
{
x*=x;
n=n/2;
}
}
return result;
}
int main()
{
int n,p;
FILE* f,g;
if((f=fopen("lgput.in","rt")!=NULL)
{
fscanf(f,"%d%d",n,p);
}
fclose(f);
if((g=fopen("lgput.out","wt")!=NULL)
{
fprintf(g, "%lu", power(n,p));
}
fclose(g);
}