Cod sursa(job #1723544)

Utilizator MyrkulyteCiurte Tudor-Catalin Myrkulyte Data 30 iunie 2016 22:03:22
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdlib.h>
#include <stdio.h>
#define big 1999999973
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,"%d",expo(a, n));
}