Cod sursa(job #474584)

Utilizator edward_alexStanciu Alexandru Marian edward_alex Data 4 august 2010 11:32:38
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.43 kb
#include<stdio.h>

const int r = 1999999973;

int putere(int n,int p){
	if(p == 1)
		return n;
	if(p % 2 == 0)
		return putere((long long) n * n % r,p / 2);
	return (long long) n * putere((long long) n * n % r,p / 2) % r;
}

int main(){
	FILE *f,*g;
	int n,p;
	f = fopen("lgput.in","r");
	g = fopen("lgput.out","w");
	fscanf(f,"%d",&n);
	fscanf(f,"%d",&p);
	int r = putere(n,p);
	fprintf(g,"%d\n",r);
	return 0;
}