博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【模板】乘法逆元
阅读量:6927 次
发布时间:2019-06-27

本文共 807 字,大约阅读时间需要 2 分钟。

题目背景

这是一道模板题

题目描述

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

输入输出格式

输入格式:

一行n,p

输出格式:

n行,第i行表示i在模p意义下的逆元。

输入输出样例

输入样例#1:
10 13
输出样例#1:
179108112534

说明

1≤n≤3×106,n<p<20000528 1 \leq n \leq 3 \times 10 ^ 6, n < p < 20000528 1n3×106,n<p<20000528

输入保证 p p p 为质数。

思路

先扔个线性预处理求逆元,其他回头补QUQ

代码

线性预处理;

1 #include
2 const int maxn=3e6+10; 3 int n,p; 4 int inv[maxn]={
0,1}; 5 int main(){ 6 scanf("%d%d",&n,&p); 7 if(n>0) puts("1"); 8 for(int i=2;i<=n;i++){ 9 inv[i]=1ll*(p-p/i)*inv[p%i]%p;10 printf("%d\n",inv[i]);11 }12 return 0;13 }

 

不知道从哪里偷来的片段:

int FP(int x,int y) {    int ret=1;    while(y) {        if(y&1) ret=(1ll*ret*x)%p;        y>>=1,x=(1ll*x*x)%p;    }    return ret;}int IE(int x) {
return FP(x,p-2);}

 

转载于:https://www.cnblogs.com/J-william/p/7806472.html

你可能感兴趣的文章
virtualbox centos安装增强工具
查看>>
利用Spring创建定时任务
查看>>
jQuery按键事件响应的Demo
查看>>
Android 数据库加密
查看>>
java 属性封装
查看>>
eclipse 10个常用 快捷键
查看>>
SFTP文件上传与下载
查看>>
Leetcode:minimum_depth_of_binary_tree解决问题的方法
查看>>
VS2013验证控件出现 WebForms UnobtrusiveValidationMode 必须“jquery”ScriptResour......错误的解决方案...
查看>>
cucumber java从入门到精通(4)Scenario Outline及数据驱动
查看>>
于CentOS 6.5编译器安装Git 1.8
查看>>
undefined function openssl_x509_read
查看>>
LeetCode:Balanced Binary Tree
查看>>
poj 1664 把平果
查看>>
报文时箱子,实体是货物
查看>>
angularJS ngClass如何使用
查看>>
VIM快捷键一目了然
查看>>
15天玩转redis —— 第三篇 无敌的列表类型
查看>>
网络工程实训_2路由器基本配置及IOS介绍
查看>>
form表单提交不成功提示
查看>>