Cod sursa(job #1632574)

Utilizator andrei_udilaandrei udila andrei_udila Data 6 martie 2016 10:30:58
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
#define MOD 666013

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

int p,x,y;
int putere(long long x, int p, int &y)
{
   long long ans=1;
   while(p>0)
   {
       if(p%2==1)
       {
           ans=(ans*x)%y;
       }
       x=(x*x)%y;
       p/=2;
   }

   return ans;
}
int main()
{
    fin>>x>>p>>y;
    fout<<putere(x,p,y)<<"\n";
   /* long long rez=pow(x,p);
    cout<<rez%MOD;
    */
    return 0;
}