Cod sursa(job #2052265)

Utilizator vladsirbu23Vlad Sirbu vladsirbu23 Data 30 octombrie 2017 12:34:45
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>
#include <iostream>
#include <iomanip>
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");

int main()
{
    unsigned int i, n, p;
    double a,sol = 1;

    f>>n>>p;
    a = n;
    for (i = 0; (1<<i) <= p; ++ i)
    {  if ( ((1<<i) & p) > 0)
           sol=( sol%1999999973 * (a%1999999973))%1999999973;
       a=a * a;
    }
    g<<setprecision(320)<<sol<<'\n';

f.close();
g.close();
return 0;
}