逆元inv
以下方法采用扩展欧几里得算逆元:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
inline void Exgcd(ll a, ll b, ll &x, ll &y) {
if (not b) x = 1, y = 0;
else Exgcd(b, a % b, y, x), y -= a / b * x;
}
int main() {
ll x, y, n, p;
scanf("%lld%lld", &n, &p);
for(int i = 1; i <= n; i++) {
Exgcd (i, p, x, y);
x = (x % p + p) % p;
printf ("%lld\n", x);
}
}
这里的