Cod sursa(job #3298775)

Utilizator DavidFirizaFiriza David Valentin DavidFiriza Data 1 iunie 2025 16:09:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <stdio.h>

#define MODUL 1999999973

int main()
{
    int baza, exponent;
    FILE *fisier_in = fopen("lgput.in", "r");
    FILE *fisier_out = fopen("lgput.out", "w");
    
    if(fisier_in == NULL || fisier_out == NULL)
    {
        return 1;
    }
    
    fscanf(fisier_in, "%d %d", &baza, &exponent);

    long long valoare_curenta = baza;
    long long rezultat = 1;
    while(exponent)
    {
        if(exponent & 1)
        {
            rezultat = (rezultat * valoare_curenta) % MODUL;
        }
        
        valoare_curenta = (valoare_curenta * valoare_curenta) % MODUL;
        exponent >>= 1;
    }

    fprintf(fisier_out, "%lld", rezultat);

    fclose(fisier_in);
    fclose(fisier_out);
    return 0;
}