Cod sursa(job #1490451)

Utilizator PetruZZatic Petru PetruZ Data 23 septembrie 2015 16:38:20
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <fstream>

using namespace std;

const int m=1999999973;

int put(int n, int p)
{
    int x=1;
    while(p)
    {
    if(p&1){x=(1LL*x*n)%m; p--;}
    
    p/=2;
    n=(1LL*n*n)%m;
    }
return(x);
}

int main()
{
    ifstream cin("lgput.in");
    ofstream cout("lgput.out");
     
    ios_base::sync_with_stdio(0);
    
    int n,p;
    
    cin >> n >> p;
    
    cout << put(n,p);
    
    
return (0);   
}