Cod sursa(job #3331465)

Utilizator pannozzo_andreipannozzo andrei pannozzo_andrei Data 28 decembrie 2025 14:20:05
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream fin ("lgput.in");
ofstream fout ("lgput.out");
int main()
{
    long long n , p  , e , r=1;
    fin >> n >> p;
    while(p>1)
    {
       if(p%2==0)
       {
         n=pow(n, 2);
         n=n%1999999973;
         p=p/2;
       }
       else 
       {
         r=r*n%1999999973;
         n = pow (n, 2);
         n=n%1999999973;
         p=p/2;
       }
    }
    fout << r*n%1999999973;
    return 0;
}