Cod sursa(job #261946)

Utilizator devill_08Buli.vlad devill_08 Data 18 februarie 2009 21:28:16
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <iostream.h>
#include <math.h>
#include <fstream.h>
fstream f("lgput.in",ios::in);
fstream g("lgput.out",ios::out);
long long n,p,prod;
const long c=1999999973;

int main ()
{
  f>>n;
  f>>p;
  if (n==1) g<<"1";
	else {
	       prod=1;
	       while (p>0)
		{
		  if (p%2==1) { prod=(prod%c*n%c)%c;
				p--;
			       }
			else { n=(n%c*n%c)%c;
			       p/=2;
			      }
		  }
	      }
  g<<prod;
  return 0;
}