Cod sursa(job #1689860)

Utilizator vlasiuflaviusVlasiu Flavius vlasiuflavius Data 14 aprilie 2016 16:50:16
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.36 kb
#include <iostream>
#include <fstream>
using namespace std;
ofstream fout ("lgput.out");
ifstream fin  ("lgput.in");
int n, p, ans;
int main()
{
    fin>>n>>p;
    ans = 1;
    for(int i = 0 ; 1 << i <= p ; ++i)
    {
        if( ( 1 << i ) & p )
            ans = ( ans * n ) % 1999999973;
        n = ( n * n ) % 1999999973;
    }
    fout<<ans;
}