Cod sursa(job #2257090)

Utilizator Mgp2005Mgp06Pavel Mihai George Mgp2005Mgp06 Data 9 octombrie 2018 17:01:09
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include <fstream>

using namespace std;
fstream f("lgput.in");
ofstream g("lgput.out");
unsigned long long putere(unsigned long long a,unsigned long long b)
{
if (a==1)
{
    return 1;
}
 if(b==0)
 {
     return 1;
 }
 if (b==1)
 {
     return a;
 }
 if (b%2==0)
 {
     return putere(a*a%1999999973,b/2)%1999999973;
 }
 else
 {
     return a*putere(a*a%1999999973,b/2)%1999999973;
 }
}
int main()
{
    unsigned long long a,b;
f>>a>>b;
g<<putere(a,b);
    return 0;
}