题目背景

这是一道模板题

题目描述

给定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 \leq n \leq 3 \times 10 ^ 6, n < p < 20000528 1≤n≤3×10^6,n<p<20000528\)

输入保证 p p 为质数。

逆元可以线性求:

inv(i)=((p-p/i)*inv[p%i])%p

也可以扩展欧几里得求

那么就是

ax+p(模数)y=1的解

也可以根据快速幂来求

根据费马小定理

逆元就是a^(p-2)

以上几种方法均需保证p为素数

#include<cstdio>
#include<algorithm>
#define LL long long
LL inv[3000053];
//int inv[MAXN];
void INV(int a,int p)
{
inv[1] = 1;
for (int i=2; i<=a; ++i)
inv[i] = (LL)((p-(p/i)%p)%p*inv[p%i]%p)%p;
} int main() {
int n,p;
scanf("%d%d",&n,&p);
INV(n,p);
for(int i=1;i<=n;++i)
printf("%d\n",inv[i]);
return 0;
}

最新文章

  1. 浅谈html5及其新特性
  2. 用2263份证件照图片样本测试how-old.net的人脸识别
  3. JProfiler学习笔记
  4. jQuery源码-jQuery.fn.attr与jQuery.fn.prop
  5. C# 遍历类的属性并取出值
  6. POJ C++程序设计 编程题#2 魔兽世界之二:装备
  7. 补充:学会Twitter Bootstrap不再难
  8. Eclipse设置分级折叠显示项目工程路径
  9. JSONObject和JSONArray的简单使用(json-lib)
  10. TinyMCE实现简单的本地上传
  11. C#读书笔记之object类的基本方法
  12. DTCMS插件的制作实例电子资源管理(四)URL重写
  13. jetty切换tomcat中文乱码
  14. Docker系列教程02-MongoDB默认开启鉴权
  15. ehcache缓存使用
  16. nodejs的某些api~(三)net模块
  17. FontAwesome图标选择器
  18. 10.30 rest_framework总结
  19. Something on RoIAlign --- basic introduction and implementation
  20. RabbitMQ使用技巧

热门文章

  1. [译]The Python Tutorial#6. Modules
  2. Python学习笔记:PyInstaller(exe程序打包)
  3. JAVA基础篇—Servlet小结
  4. vmware10下载地址
  5. selenium2 页面对象模型Page Object
  6. 配置LAMP环境
  7. luogu2763 试题库问题
  8. oracle整体结构-内存结构、物理结构、逻辑结构、进程
  9. python - 自动化测试框架 - sendMail
  10. Andorid 生成NDK动态链接库 .so库