Cod sursa(job #1368602)

Utilizator GeorgianBaditaBadita Marin-Georgian GeorgianBadita Data 2 martie 2015 18:46:52
Problema Ridicare la putere in timp logaritmic Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.51 kb
#include <cstdio>
#define mod 1999999973
using namespace std;
long long int putere(long long int a, long long 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);
    long long int rez = putere(n, p);
    printf("%lld", rez);
    return 0;
}