Ejemplo n.º 1
1
int algebra::binpow(int a, int n)
{
    if(n == 0)
    {
        return 1;
    }
    if(n % 2 == 1)
    {
        return binpow(a, n-1) * a;
    }
    else
    {
        int b = binpow(a, n/2);
        return b * b;
    }
}
Ejemplo n.º 2
0
long long binpow(long long a, long long n) {
    if (n == 0)
        return 1;
    long long res = binpow(a, n / 2);
    res = mulmod(res, res);
    if (n % 2 == 1)
        return res = mulmod(res, a);
    return res;
}
Ejemplo n.º 3
0
int main()
{
    
    int test=0;
    scanf("%d",&test);
    while(test--)
    {
         long long int n;
         scanf("%lld",&n);
         printf("%lld\n",(n*(binpow(2,n-1,mod)%mod)%mod));
    }
 
return 0;
//system("pause");
}
Ejemplo n.º 4
0
long long inverse(long long a) {
    return binpow(a, mod - 2);
}
Ejemplo n.º 5
0
long long binpow(long long val, long long deg, long long mod) {
        if (!deg) return 1 % mod;
        if (deg & 1) return binpow(val, deg - 1, mod) * val % mod;
        long long res = binpow(val ,deg >> 1, mod);
        return (res*res) % mod;
}