Cod sursa(job #1853097)

Utilizator alindima99Alin Dima alindima99 Data 21 ianuarie 2017 13:55:06
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.44 kb
#include <fstream>

using namespace std;

ifstream cin("lgput.in");
ofstream cout("lgput.out");

long con=1999999973;

long UltimaCifra(long a, long b)
{
    if(a==1)
        return 1;

    if(b==1)
        return a%con;

    if(b%2==1)
        return (a*UltimaCifra(a%con,b-1))%con;

    return UltimaCifra((a*a)%con,b/2);
}

int main()
{
    long a,b;

    cin>>a>>b;

    cout<<UltimaCifra(a,b);

    return 0;
}