Cod sursa(job #2354171)

Utilizator raduicaiulianRaduica Iulian raduicaiulian Data 24 februarie 2019 22:50:38
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <stdio.h>
unsigned long long int poow(unsigned long long int n,unsigned int p,unsigned int rest){
	if (p==0)
		return 1;
	if (p>1){
		if(p%2==0)
			return poow(n*n,p/2,rest);
		else
			return poow(n*n,p/2,rest*n);
		}
	else
		return n*rest;
}

int main(){
	unsigned long long int n;
	unsigned int p;
	FILE *f,*g;
	f = fopen( "lgput.out" , "w");
	g = fopen("lgput.in", "r");
	fscanf(g,"%d",&n);
	fscanf(g,"%d",&p);
	printf("%d %d",n,p);
	fprintf(f, "%d\n", poow(n,p,1));
	//printf("%d",poow(10,11,1));
	fclose(g);
	fclose(f);
	return 0;
}