【代码超详解】洛谷 P3811 【模板】乘法逆元

一、题目描述

【代码超详解】洛谷 P3811 【模板】乘法逆元_第1张图片

二、算法分析说明与代码编写指导

【代码超详解】洛谷 P3811 【模板】乘法逆元_第2张图片【代码超详解】洛谷 P3811 【模板】乘法逆元_第3张图片【代码超详解】洛谷 P3811 【模板】乘法逆元_第4张图片

三、AC 代码

#include
#pragma warning(disable:4996)
unsigned long long n, p, inv[20000529] = { 0,1 };
template<typename _Ty> inline void EnumInv(const _Ty& n, const _Ty& p) {
	_Ty q, r;
	for (_Ty i = 2; i <= n; ++i) {
		q = p / i, r = p - q * i, inv[i] = (p - q) * inv[r] % p;
		printf("%llu\n", inv[i]);
	}
}
int main() {
	scanf("%llu%llu", &n, &p);
	puts("1");
	EnumInv(n, p);
	return 0;
}

你可能感兴趣的:(ACM-ICPC)