Cod sursa(job #3295010)

Utilizator fabiplavatPlavat Fabian-Remus fabiplavat Data 1 mai 2025 17:27:44
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.46 kb
#include <stdio.h>

unsigned exp_by_squaring(unsigned x, unsigned n)
{
    unsigned long long y=1;
    while(n>1)
    {
        if(n%2==1)
        {
            y=x*y%1999999973;
            n--;
        }
        x=x*x%1999999973;
        n/=2;
    }
    return x*y%1999999973;
}

int main()
{
    FILE *in = fopen("lgput.in", "r");
    FILE *out = fopen("lgput.out", "w");


    unsigned x,n;
    fscanf(in,"%u %u",&x,&n);

    fprintf(out,"%u",exp_by_squaring(x,n));
}