Cod sursa(job #819112)

Utilizator andreidanAndrei Dan andreidan Data 18 noiembrie 2012 15:44:32
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>

int inmultire(int a,int b,int p){
    int jum=0,put=0;
    if(b==1) return a;
    jum=b/2;
    if(b%2==0)
        return (inmultire(a,jum,p)*inmultire(a,jum,p))%p;
    if(b%2!=0)
        return (inmultire(a,jum,p)*inmultire(a,jum,p)*a)%p;

}

int main (){
    freopen("lgput.in","r",stdin);
    freopen("lgput.out","w",stdout);
    int a,b,p;
    p=1999999973;
    scanf("%d %d",&a,&b);
    printf("%d",inmultire(a,b,p));

}