Cod sursa(job #1790219)

Utilizator gorneanu.andreiFMI Gorneanu Andrei gorneanu.andrei Data 27 octombrie 2016 21:37:19
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.74 kb
#include <stdio.h>
#define MOD 1999999973


    long long putere(long long a, long long b)
    {   long long rez = 1;


        while(b)
        {
            if(b % 2 == 0)
            {
                b = b / 2;
                a = a * a;
                a = a % MOD;
            }
            else
            {
                b = b - 1;
                rez = rez * a;
                rez = rez % MOD;
            }

        }

        return rez % MOD;

    }

int main()

{
    FILE *f,*g;
    long long a, b, rezultat;

    f=fopen("lgput.in","r");
    g=fopen("lgput.out","w+");

    fscanf(f,"%lld %lld",&a,&b);

    rezultat = putere(a % MOD,b % MOD);

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






}