Cod sursa(job #2353655)

Utilizator stratonedanielDaniel Stratone stratonedaniel Data 24 februarie 2019 14:35:14
Problema Ridicare la putere in timp logaritmic Scor 90
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <stdio.h>
#include <stdlib.h>

void do_nothing(int null)
{}

int main()
{
	unsigned long long base=0,power=0;

	FILE *read=fopen("lgput.in","r");
	FILE *write=fopen("lgput.out","w");

	int null;
	
	null=fscanf(read,"%llu %llu",&base,&power);

	unsigned long long i=1;
	unsigned long long number=base;
	unsigned long long result=1;


	while(i<power)
	{
		
		unsigned long long copy=power;		
		if((copy & i) != 0)
			result=(result*number) % 1999999973;		

		i=i<<1;

		number=(number*number)%1999999973;

	}	

	fprintf(write,"%llu\n",result);
	
	do_nothing(null);	

	fclose(read);
	fclose(write);

	return 0;
}