Cod sursa(job #2061209)

Utilizator anca.sotirAnca Sotir anca.sotir Data 8 noiembrie 2017 23:22:22
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>
#define numar 1999999973
using namespace std;
ifstream f("lgput.in");
ofstream g("lgput.out");
int lgput(int n,int k)
{
    int aux;
    if(k==0) return 1;
    if(k==1) return n%numar;
    if(k%2==0)
        {
            aux=lgput(n,k/2)%numar;
            return (aux*aux)%numar;
        }
    aux=lgput(n,(k-1)/2)%numar;
    aux=(aux*aux)%numar;
    return (n*aux)%numar;
    }
int main()
{
    int N,K;
    f>>N>>K;
    N%=numar;
    K%=numar-1;
    g<<lgput(N,K)%numar;
    return 0;
}