Cod sursa(job #1747466)

Utilizator Rocamadour1497Alexandru Martiniuc Rocamadour1497 Data 24 august 2016 22:28:10
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.37 kb
#include <iostream>
#include <stdio.h>
using namespace std;
const int m = 1999999973;
int main()
{
    int n,p,i;
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    cin>>n>>p;
    unsigned long long a=n,sol=1;
    for(i=0;(1<<i)<=p;++i)
    {
        if((1<<i)& p)
            sol*=a%m;
            a*=a%m;

    }
    cout<<sol;
}