Cod sursa(job #1368594)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 2 martie 2015 18:45:07
Problema Ridicare la putere in timp logaritmic Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include <cstdio>
#define mod 1999999973
using namespace std;
int putere(int a, int b)
{
    if(b == 0) return 1;
    else if(b % 2 == 0)
        return (putere(a, b / 2) % mod * putere(a, b / 2) % mod);
    else return (a % mod * putere(a, b - 1) % mod);


}
int main()
{
    freopen("lgput.in", "r", stdin);
    freopen("lgput.out","w", stdout);
    int n, p;
    scanf("%d%d", &n, &p);
    printf("%d", putere(n, p));
    return 0;
}