Cod sursa(job #1790206)

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


    int putere(int a, int b)
    {   int 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;

    }

int main()

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

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

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

    rezultat = putere(a,b);

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






}