Cod sursa(job #2412474)

Utilizator andreitabaraandrei2004 andreitabara Data 22 aprilie 2019 11:59:53
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.52 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)
{
    // a%=1999999973;
     if (b==0) return 1;
     else if (b==1) return a;
     else if (b%2==0)  return rise((a*a)%1999999973,b/2)%1999999973;
     else if (b%2==1) return a*rise((a*a)%1999999973,(b-1)/2)%1999999973;
}
int main()
{unsigned long long int a,b;
 in>>a>>b;
 out<<rise(a,b)%1999999973;
    return 0;
}