Cod sursa(job #2532654)

Utilizator magura23Magureanu-Stoenescu Andreea magura23 Data 28 ianuarie 2020 08:26:23
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.34 kb
#include <iostream>

using namespace std;
const int x= 1999999973;
int a, n, v[10009], i, k;
long long m;
int main()
{
    cin>>a>>n;
    while(n!=0)
    {
        v[++k]=n%2;
        n=n/2;
    }
    m=1;
    for(i=k; i>=1; i--)
        if(v[i]==1)
            m=m*m*a%x;
        else    m=m*m%x;
    cout<<m;
    return 0;
}