Mai intai trebuie sa te autentifici.

Cod sursa(job #651287)

Utilizator dmgciubotaruCiubotaru Gabriel dmgciubotaru Data 20 decembrie 2011 02:02:28
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.42 kb
#include "stdio.h"

unsigned int a,b,r;
FILE *f,*g;

void pow(unsigned int p,unsigned int x,unsigned int *rez)
{
	if(p*2<=b)
	{
		pow(p*2,x*x,rez);
		if(b>p)
		{		
			b-=p;
			*rez*=x;
		}
	}
	else
	{
		*rez = x;
		b-=p;
	}
}
	


int main()
{
	f = fopen("lgput.in","r");
	g = fopen("lgput.out","w");
	fscanf(f,"%d%d",&a,&b);
	pow(1,a,&r);
	fprintf(g,"%d",r);
	fclose(f);
	fclose(g);
	return 0;
}