Cod sursa(job #1874062)

Utilizator WebDesignbyTMGhiorghiu Ioan-Viorel WebDesignbyTM Data 9 februarie 2017 17:44:07
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 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;
        cn = n;
        a = 1;
    }
    else
    {
        fo << n;
        return 0;
    }

    return 0;
}