Cod sursa(job #232526)

Utilizator sorecau_catalinSorecau Catalin sorecau_catalin Data 15 decembrie 2008 18:10:33
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.41 kb
#include <fstream>
using namespace std;

int main()
{
    ifstream fin("lgput.in");
    long long  n, p, m = 1999999973;
    fin >> n >> p;
    int sol = 1;
    fin.close();
    ofstream fout("lgput.out");
    while ( p)
    {
       if(p % 2)  
          sol =(sol * n)% m;  
          n =(n * n)% m; 
          p /= 2;  
    }
    fout << sol;
    fout.close();
    return 0;
}