Cod sursa(job #1066287)

Utilizator Catalina_BrinzaBrinza Catalina Catalina_Brinza Data 24 decembrie 2013 14:45:42
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
//
//  main.cpp
//  lgput
//
//  Created by Catalina Brinza on 12/24/13.
//  Copyright (c) 2013 Catalina Brinza. All rights reserved.
//

#include <fstream>
#define m 1999999973
using namespace std;
ifstream in("lgput.in");
ofstream out("lgput.out");

int main()
{long long ago,n,p,i, s=1;
    in>>n>>p;
    ago=n;
    for (i=0;(1<<i)<=p;++i)
         {
             if (((1<<i)&p)>0) s=(s*ago)%m;
                 ago=(ago*ago)%m;
         }
    out<<s;
    return 0;
}