Cod sursa(job #2412443)

Utilizator andreitabaraandrei2004 andreitabara Data 22 aprilie 2019 11:37:05
Problema Ridicare la putere in timp logaritmic Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <iostream>

using namespace std;
ifstream in ("lgput.in");
ofstream out ("lgput.out");
unsigned long long int rise(unsigned long long int a,unsigned long long int b)
{
     unsigned long long int x;
    if(b==0)return 1%1999999973;
    else{
    x=(rise(a%1999999973,(b/2)%1999999973))%1999999973;
    if(b%2==1)return ((x%1999999973)*(a%1999999973)*(x%1999999973))%1999999973;
    else{return ((x%1999999973)*(x%1999999973))%1999999973;}

    }
}
int main()
{unsigned long long int a,b;
 in>>a>>b;
 out<<rise(a%1999999973,b%1999999973)%1999999973;
    return 0;
}