Cod sursa(job #1874489)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 10 februarie 2017 01:05:43
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.47 kb
#include <fstream>
#define md 1999999973
using namespace std;

ifstream fi ("lgput.in");
ofstream fo ("lgput.out");

long long n, p, a = 1, s, cn;

int main ()
{
    fi >> n >> p;
    cn = n;
    while (a*2 < p || a*2 == p)
    {
        n = (n*n)%md;
        a*=2;
    }
    if (p - a > 0)
    {
        p-=a;
        s*=n;
        s%=md;
        cn = n;
        a = 1;
    }
    else
    {
        fo << n;
        return 0;
    }

    return 0;
}