Cod sursa(job #1251366)

Utilizator OnimushaLordTiberiu Copaciu OnimushaLord Data 29 octombrie 2014 12:58:03
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
# include <cstdio>
# define MOD 1999999973

using namespace std;

long long a,b;

long long pw(long long a, long long b)
{
    int p=1;
    while(b)
    {
        if(b%2)
        {
            p=(p*a)%MOD;
            b--;
        }
        else
        {
            a=(a*a)%MOD;
            b/=2;
        }
    }
    return p;
}

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

    scanf("%d %d\n", &a, &b);
    printf("%lld\n", pw(a,b));

	fclose(stdin);
	fclose(stdout);
	return 0;
}