乘法逆元-洛谷-P3811

2019-04-14 08:39发布

题目背景

这是一道模板题

题目描述

给定n,p求1~n中所有整数在模p意义下的乘法逆元。

输入输出格式

输入格式:   一行n,p   输出格式:   n行,第i行表示i在模p意义下的逆元。  

输入输出样例

输入样例#1: 10 13 输出样例#1: 1 7 9 10 8 11 2 5 3 4

说明

1≤n≤3×10^6  ,  n#include #include #define ll long long using namespace std; const int maxn = 3e6 + 5; ll inv[maxn] = {0, 1}; int main() { int n, p; scanf("%d%d", &n, &p); printf("1 "); for (int i = 2; i <= n;i++) { inv[i] = (ll)p - (p / i) * inv[p % i] % p; printf("%lld ", inv[i]); } return 0; }