Cod sursa(job #1155060)

Utilizator RazvanR104Razvan-Andrei Ciocoiu RazvanR104 Data 26 martie 2014 17:07:24
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.43 kb
#include <cstdio>

using namespace std;

const int mod = 1999999973;
unsigned int N, P;

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

	scanf("%u %u", &N, &P);

	int rez = 1, i;

	for (i = 0; (1LL << i) <= P; ++i)
    {
        if ((P >> i) & 1)
            rez = (rez * N) % mod;
        N = (N * N) % mod;
    }

    printf("%u\n", rez);
	fclose(stdout);
    return 0;
}