Cod sursa(job #2087389)

Utilizator ParketPatrick Josephs Parket Data 13 decembrie 2017 16:18:17
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator c Status done
Runda Arhiva educationala Marime 0.41 kb
#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *f1 = fopen("lgput.in","r"),*f2=fopen("lgput.out","w");
    int x=0,i;
    unsigned long long a,r,b;
    fscanf(f1,"%llu%llu",&a,&b);
    a=a%1999999973;
    while(b%2==0){
        x++;
        b/=2;
    }
    for(i=0;i<x;i++){
        a=a*a;
    }
    r=a;
    for(i=1;i<b;i++){
        r=r*a;
    }
    fprintf(f2,"%llu",r%1999999973);
    return 0;
}