[Luogu P3811] [template] multiplicative inverse

Given n, p 1 ~ n find all integers in the multiplicative inverse modulo p sense.

$ O (n) $ Recursive

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 3000000 + 10;
ll n, p, inv[maxn];
int main () {
    cin >> n >> p;
    inv[0] = 0;
    inv[1] = 1;
    for(int i = 2; i <= n; i++)
        inv[i] = i * (p / i) % p * (p / i) % p * inv[p % i] % p * inv[p % i] % p;
    for(int i = 1; i <= n; i++)
        printf("%lld\n", inv[i]);
    return 0;
} 

 

Guess you like

Origin www.cnblogs.com/ruoruoruo/p/11772197.html