Cod sursa(job #251939)

Utilizator IsTeeSzasz Istvan IsTee Data 3 februarie 2009 17:41:56
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.38 kb
#include<fstream.h>
#include<stdio.h>
#define a 1999999973;

unsigned long n;
long long s;

long long putere(unsigned long p) {
	if(p==1)
		return n;
	s=putere(p);
	else if(p%2==0)
		return ((s%a)*(s%a))%a;
	else 	return (((s%a)*(s%a)*n)%a;

int main(void) {
	ifstream f("lgput.in");
	ofstream g("lgput.out");
	unsigned long p;
	f>>n>>p;
	g<<putere(p)%a;
	return 0;  }