费马小定理
概念
-
定理
为质数, 为整数且 , 有 . -
证明
构造质数 p 的完全剩余系
同时构造另一完全剩余系
由完全剩余系的性质,可得
即
为质数,可知 ,
故
同余式两边可同时约去 ,得
Justified.
应用
求乘法逆元: 设 为 在模 意义下的乘法逆元,可表示为
当 时,同余式两边可同时乘上 ,故
若 时,则该同余式无解。
code:
//费马小定理求乘法逆元
#include<bits/stdc++.h>
using namespace std;
long long n , p;
long long quick_power(long long x , long long y) {
long long res=1 , temp=x;
for (long long i=y; i; temp=temp*temp%p , i>>=1) {
if (i%2==1) {
res=res*temp%p;
}
}
return res;
}
const int maxn=1e6+5;
long long inv[maxn];
int main() {
scanf("%lld %lld" , &n , &p);
for (int i=1; i<=n; i++) {
inv[i]=quick_power(i , p-2);
//printf("%lld\n" , inv[i]);
}
return 0;
}
原文链接: https://www.cnblogs.com/i-willbe233/p/13519896.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;
也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/367745
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!