Cod sursa(job #2663451)

Utilizator andrei_ciobanuciobanu andrei andrei_ciobanu Data 26 octombrie 2020 14:12:08
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c-64 Status done
Runda Arhiva educationala Marime 0.55 kb
#include <stdio.h>
#include <stdlib.h>

#define MOD 1999999973

int main()
{
    FILE *fin, *fout;
    fin = fopen("lgput.in", "r");
    fout = fopen("lgput.out", "w");
    int n, p;
    fscanf(fin, "%d%d", &n, &p);
    long long int pow = n, rez = 1;
    while (p){
        if (p % 2){
            rez = (long long int)rez * pow;
            rez = (long long int)rez % MOD;
        }
        pow = (long long int)pow * pow;
        pow = (long long int)pow % MOD;
        p >>= 1;
    }
    fprintf(fout, "%d", rez);
    return 0;
}