AC

许诺  •  2天前


#include <iostream>
#include <vector>
using namespace std;
long long fast_pow(long long base, long long exp, long long mod) {
long long result = 1;
while (exp > 0) {
    if (exp % 2 == 1) {
        result = (result * base) % mod;
    }
    base = (base * base) % mod;
    exp = exp / 2;
}
return result;

}

int main() {

int n, p;
cin >> n >> p;
vector<int> a(n);
for (int i = 0; i < n; ++i) {
    cin >> a[i];
}

for (int i = 0; i < n; ++i) {
    int num = a[i];
    if (num % p == 0) {
        cout << 0 << " ";
    } else {
        long long inv = fast_pow(num, p - 2, p);
        cout << inv << " ";
    }
}
cout << endl;

return 0;

}


评论:

请先登录,才能进行评论