Cod sursa(job #2400996)

Utilizator Dragono63Stanciu Rares Stefan Dragono63 Data 9 aprilie 2019 12:39:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include<bits/stdc++.h>
using namespace std;

ifstream fin("lgput.in");
ofstream fout("lgput.out");

long long prod(long long a,long long b)
{
    a%=1999999973;
    long long m=a;
    b--;
    if(b==0) return 1;
    while(b>1)
    {

                if(b%2==0) m*=m;
        else
        {
            if(b%2==1){
                m*=m;
            m*=a;
            }

        }
        a=a%1999999973;
        m=m%1999999973;
        b/=2;
    }
    return m*a%1999999973;
}


int main()
{



    long long n,p;

    fin>>n>>p;

    fout<<prod(n,p);





    return 0;
}