Cod sursa(job #1152042)

Utilizator Barcau_EmanuelBarcau Emanuel Barcau_Emanuel Data 24 martie 2014 15:22:39
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<fstream>
using namespace std;
ifstream f("logput.in");
ofstream g("logput.out");
unsigned long long x,y,teste,t,i,j,rez;

unsigned long long powlog(unsigned long long x,unsigned long long y)
{
    if(y>1)
     {if(y%2==0)
      {
         unsigned long long h;
         h=powlog(x,y/2)%1999999973;
         return ((h%1999999973)*(h%1999999973))%1999999973;
      }
     else
      {
         unsigned long long h;
         y--;
         h=powlog(x,(y-1)/2)%1999999973;
         return (h*h*(x%1999999973))%1999999973;
      }}
}

int main()
{
    f>>x>>y;
    rez=powlog(x,y);
    g<<rez%1999999973;
    return 0;
}