Cod sursa(job #1936428)

Utilizator SolcanMihaiSolcan Mihai Andrei SolcanMihai Data 23 martie 2017 08:38:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <cstdio>

using namespace std;

const long long MOD = 1999999973;

int n, m;

void citire()
{
	scanf("%d %d", &n, &m);
}

long long putere(int x, int y)
{
	if(y == 1)
	{
		return x;
	}
	else
	{
		if(y % 2 == 0)
		{
			return putere((x * x * 1LL) % MOD, y / 2) % MOD;
		}
		else
		{
			return x * putere((x * x * 1LL) % MOD, y / 2) % MOD; 
		}
	}
}

int main()
{
	freopen("lgput.in", "r", stdin);
	freopen("lgput.out", "w", stdout);

	citire();
	printf("%d", putere(n, m));
}