Cod sursa(job #2165831)

Utilizator Turturica_DorinTurturica Dorin Turturica_Dorin Data 13 martie 2018 13:52:31
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>

#define mod 1999999973

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

unsigned int n, p, af;

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

int main()
{
    fin >> n;
    fin >> p;
    af = putere ( n, p );
    fout<< af;
}