Cod sursa(job #1499102)

Utilizator Vele_GeorgeVele George Vele_George Data 10 octombrie 2015 10:22:35
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <iostream>
#include <fstream>
#define mod 1999999973
using namespace std;

long long rp(long long a, long long b)
{
    if (b == 0) return 1;
    if (b == 1) return a;

    long long t = rp(a, b/2)%mod;
              t = (t*t)%mod;
    if (b%2 == 0) return (t)%mod;
                  return (t*a)%mod;

}

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

    long long n, p;
    f >>n >>p;

    g << rp(n, p);

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