AC

许诺 · 发布于 2025-06-02 · 浏览 277 回复 0
#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;

}

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复