Cod sursa(job #2469427)
| Utilizator | Data | 7 octombrie 2019 10:38:43 | |
|---|---|---|---|
| Problema | A+B | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Lista lui wefgef | Marime | 0.57 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("gcd.in");
ofstream fout("gcd.out");
long long putere(long long a , long long n , long long MOD)
{
long long p = 1;
while (n > 0)
{
if (n % 2 == 1) p = p * a % MOD;
n /= 2;
a = a * a % MOD;
}
return p;
}
int T , n , m , p;
int main()
{
fin >> T;
while(T--)
{
fin >> n >> m >> p;
int n_s = putere(2 , n , p) - 1;
int m_s = putere(2 , m , p) - 1;
fout << __gcd(n_s , m_s) % p << "\n";
}
return 0;
}
