Cod sursa(job #1122527)

Utilizator bluespideyMarin Diana bluespidey Data 25 februarie 2014 18:40:32
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <cmath>
#include <algorithm>
#define nr 1999999973

using namespace std;
int n,d,k,p,i;

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

int main()
{
    fin >> n >> p;
    d =n*n%nr;
    k = 1;

    if(p%2)
        {
            for(i = 1; i < p/2; ++i)
                {
                    n *= d;
                    n%= nr;
                }
            fout << n;
        }
    else{ for(i = 1; i <= p/2; ++i)
            {
                k *= d;
                k%= nr;
            }
        fout << k;
    }



    return 0;
}