Cod sursa(job #1605111)

Utilizator firewavesBirsu Ion firewaves Data 18 februarie 2016 19:31:01
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.42 kb
#include<stdio.h>
#define mod %1999999973

long long p=1,n,m;

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

    scanf("%lld%lld",&n,&m);

    while (m!=1)
        if (m%2==0)
        {
            n=n*n mod;
            m/=2;
        }
        else
        {
            m--;
            p=p*n mod;
        }

    printf("%lld\n",p*n mod);

    return 0;
}