Cod sursa(job #3299559)

Utilizator VramzVramita Darius Adrian Vramz Data 8 iunie 2025 14:49:21
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <stdio.h>
#define m 1999999973

int exp_log(int x, int n) {
    int p = 1;
    while (n > 0) {
        if (n % 2 == 1) {
            p *= x;
        }
        x *= x;
        n /= 2;
    }
    return p;
}

int main(){
    FILE *fin,*fout;
    int n,p;
    fin=fopen("lgput.in","r");
    if(fin==NULL){
        printf("Eroare la alocare");
        return 0;
    }
    fout=fopen("lgput.out","w");
    if(fout==NULL){
        printf("Eroare la alocare");
        return 0;
    }
    fscanf(fin,"%d %d",&n,&p);
   
    int rest = exp_log(n,p)%m;
    fprintf(fout,"%d",rest);
    fclose(fin);
    fclose(fout);
}