Cod sursa(job #1723547)

Utilizator MyrkulyteCiurte Tudor-Catalin Myrkulyte Data 30 iunie 2016 22:07:24
Problema Ridicare la putere in timp logaritmic Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <stdlib.h>
#include <stdio.h>
#define big 1999999973
long long int expo(int a, int n)
{
	if (n == 0)
	{
		return 1;
	}
	else if (n == 1)
	{
		return a;
	}
	else if (n % 2 == 0)
	{
		return expo(a, n/2)*expo(a,n/2)% big;
	}
	else
	{
		return a*expo(a, n / 2)*expo(a, n / 2)%big;
	}
}

int main()
{
	int a, n;
	FILE *A = fopen("lgput.in", "r");
	FILE *B = fopen("lgput.out", "w");
	fscanf(A, "%d %d", &a, &n);
	fprintf(B,"%ld",expo(a, n));
}