Cod sursa(job #1607965)

Utilizator Bot32King Max Bot32 Data 21 februarie 2016 19:02:14
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;

#define mod 1999999973

ifstream f("lgput.in");
ofstream g("lgput.out");

long long n , p;
long long rez=1;

long long calcul ( int x , int p )
{
    if ( p == 0 ) return 1;
    else
        if ( p%2 == 1 ) return (x * calcul((x*x)%mod , p/2 ))%mod ;
            else return calcul((x*x)%mod , p/2)%mod;
}

int main()
{
    f >> n >> p;
  /*  while(p>0)
    {
        if( p%2 == 1)
        {
            rez=rez*n%mod;
            p--;
        }
        else
        {
            n=(n*n)%mod;
            p/=2;
        }
    } */
    g << calcul(n,p);
    return 0;
}