Cod sursa(job #1760278)

Utilizator radu9876Radu Sirghe radu9876 Data 20 septembrie 2016 17:11:44
Problema Ridicare la putere in timp logaritmic Scor 0
Compilator c Status done
Runda Arhiva educationala Marime 0.42 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int n,k,nr=1;
    FILE *in=fopen("lgput.in","r");
    fscanf(in,"%d %d",&n,&k);
    fclose(in);
    long long int p=n;
    while(nr*2<=k){
        p=(p*p)%1999999973;
        nr=nr*2;
    }
    nr=nr/2;
    while(nr<k){
        p=(p*n)%1999999973;
        nr++;
    }
    FILE *out=fopen("lgput.out","w");
    fprintf(out,"%lld",p);
    return 0;
}