Cod sursa(job #1486001)

Utilizator jordan1998Jordan jordan1998 Data 13 septembrie 2015 16:01:13
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <iostream>
#include <fstream>
using namespace std;
double x;
int n;
ifstream f("lgput.in");
ofstream g("lgput.out");
double PutereLogaritmic(double x, int n)
{
	double p = 1 ;
	while (n > 0)
	{
		if(n%2)
		//if (n & 1) // n este impar
		{
			p *= x;
			n-- ;
		}

		x = x * x ;
		n/=2;
	//	n >>= 1 ; // sau n = n / 2
	}
	return p ;
}
int main()
{
    f>>x>>n;
    g<<PutereLogaritmic(x,n)<<'\n';
}