Cod sursa(job #2639627)

Utilizator Catalin007Botezat Catalin Catalin007 Data 3 august 2020 11:46:00
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.39 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;
const ll mod=1999999973;
ifstream fin("lgput.in");
ofstream fout("lgput.out");
ll put(int n, ll p){
    ll sol=1;
for(int i=0;(1<<i)<=p;i++)
{
    if(((1<<i)& p) >0) sol=(sol*n)%mod;

        n=(n*n)%mod;
}
return sol;
}
int main()
{
    int n; ll p;
    fin>>n>>p;

    fout<<put(n,p);
    return 0;
}