码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷 P3811 【模板】乘法逆元 如题

时间:2017-11-10 23:10:08      阅读:221      评论:0      收藏:0      [点我收藏+]

标签:递推   bar   eve   pre   onclick   整数   main   分享   lis   

P3811 【模板】乘法逆元

  • 时空限制1s / 256MB

题目背景

这是一道模板题

题目描述

给定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 < 200005281n3×106,n<p<20000528

输入保证 pp 为质数。

-----------------------------------------------------------------------------------------------------

推式的求导以后再写

递推式:inv[n]=(p-p/n)*inv[p%n]%p //inv[x]表示x对p的逆元

存个板子先:

 

技术分享
 1 #include<stdio.h>
 2 #include<string.h>
 3 #define maxn 3000010
 4 int read();
 5 int n,p,inv[maxn];
 6 int main(){
 7     n=read();p=read();
 8     inv[1]=1;
 9     printf("1\n");
10     for(int i=2;i<=n;i++){
11         inv[i]=(long long)(p-p/i)*inv[p%i]%p;
12         printf("%d\n",inv[i]);
13     }
14     return 0;
15 }
16 int read(){
17     int ans=0,f=1;char c=getchar();
18     while(0>c||c>9){if(c==-)f=-1;c=getchar();}
19     while(0<=c&&c<=9)ans=ans*10+c-48,c=getchar();return ans*f;
20 }
线性求逆元

 

洛谷 P3811 【模板】乘法逆元 如题

标签:递推   bar   eve   pre   onclick   整数   main   分享   lis   

原文地址:http://www.cnblogs.com/lpl-bys/p/7816429.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!