Cod sursa(job #1284673)

Utilizator dragomirdragomir alex dragomir Data 6 decembrie 2014 18:44:56
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>
long unsigned int PutereLogaritmic(long unsigned int x, long unsigned int n)
{
	long unsigned int p = 1 ;
	while (n > 0)
	{
		if (n%2==1)
		{
			p *= x;
			n-- ;
		}
		x = x * x ;
        n = n / 2;
	}
	return p ;
}
long unsigned int n,p;
int main()
{

    freopen("lgput.in", "r", stdin);
    freopen("lgput.out", "w", stdout);
    scanf("%d%d", &n, &p);
    printf("%ld",PutereLogaritmic(n,p)% 1999999973);
    return 0;
}