日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

乘法逆元总结 3种基本方法

發(fā)布時(shí)間:2024/10/8 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 乘法逆元总结 3种基本方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

逆元

逆元(inverse element)是在取模意義下,不能直接除以一個(gè)數(shù),而要乘以它的逆元;a*b ≡\equiv 1 (mod p) , 那么a和b互為模p意義下的逆元,比如要計(jì)算(x/a)%p,可以寫成x*b%p;

方法一

費(fèi)馬小定理

若P為素?cái)?shù),則 ap?1{a^{p-1}}ap?1 ≡\equiv 1 (mod p) 【費(fèi)馬小定理】
即:ap?2{a^{p-2}}ap?2 *a ≡\equiv 1 (mod p)
所以ap?2{a^{p-2}}ap?2就是a在模p意義下的逆元

const LL mod = 1e9+7; //快速冪 LL fastPow(LL a,LL b){LL ans=1;while(b){if(b&1)ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return ans; } //求x的逆元 LL inv(LL x){return fastPow(x,mod-2); }

歐拉定理

若a和p互素(P不一定是素?cái)?shù)),則a?(p){a^{\phi{(p)}}}a?(p) ≡\equiv 1 (mod p)
a?(p)?1?a{a^{\phi{(p)}-1}}*aa?(p)?1?a ≡\equiv 1 (mod p)
所以a?(p)?1{a^{\phi{(p)}-1}}a?(p)?1 就是a在模p意義下的逆元

聯(lián)系

?(p){\phi{(p)}}?(p)稱為歐拉函數(shù),表示小于等于P且與P互素的個(gè)數(shù),顯然若p為素?cái)?shù),則?(p)=p?1{\phi{(p)}}=p-1?(p)=p?1

const LL mod = 1e9+7; //求歐拉函數(shù) long long phi(long long x) {long long res = x;for(long long i=2;i*i<=x;i++){if(x%i==0){res = res/i*(i-1);//res -= res/i;while(x%i==0)x/=i;}}if(x>1)res =res/x*(x-1);//res -= res/x;return res; } //快速冪 LL fastPow(LL a,LL b){LL ans=1;while(b){if(b&1)ans=(ans*a)%mod;a=(a*a)%mod;b>>=1;}return ans; } //求x的逆元 LL inv(LL x){return fastPow(x,phi(mod)-1); }

方法二

擴(kuò)展歐幾里得算法

a*b ≡\equiv 1 (mod p)
a * b+k * p = 1
a就是要求的逆元

LL exgcd(LL a,LL b,LL &x,LL &y)//擴(kuò)展歐幾里得算法 {if(b==0){x=1,y=0;return a;}LL ret=exgcd(b,a%b,y,x);y-=a/b*x;return ret; } LL getInv(LL a,LL mod)//求a在mod下的逆元,不存在逆元返回-1 {LL x,y;LL d=exgcd(a,mod,x,y);return d==1?(x%mod+mod)%mod:-1; }

方法三:遞推求逆元

P是模數(shù),i是待求的逆元,我們求的是i?1{i^{-1}}i?1在mod P意義下的值
p=k*i+r,若(r<i),則有k=p/i,r=p%i
k * i+r ≡\equiv 1 (mod p)
兩邊同時(shí)除以i*r, k?r?1+i?1≡0(modP){k*r^{-1}+i^{-1} \equiv 0 (mod P) }k?r?1+i?10(modP)
移項(xiàng)得:i?1≡?k?r?1(modP){i^{-1} \equiv -k*r^{-1} (mod P) }i?1?k?r?1(modP)
即:i?1≡?p/i{i^{-1} \equiv -p/i}i?1?p/i * inv[i % mod p]
邊界條件是 inv[1]=1

LL inv[mod+5]; void getInv(LL mod) {inv[1]=1;for(int i=2;i<mod;i++)inv[i]=(mod-mod/i)*inv[mod%i]%mod; }

總結(jié)

以上是生活随笔為你收集整理的乘法逆元总结 3种基本方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人久久国产 | 青草青视频 | 日韩免费av在线 | 欧美情趣视频 | 午夜免费观看 | 免费jizz| 日本超碰在线 | 免费成人av片 | 日韩av在线中文字幕 | 亚洲乱亚洲 | av手机网站 | 男人狂揉女人下部视频 | 蜜臀av色欲a片无码精品一区 | 欧美乱论视频 | 黑人操少妇 | 高清国产一区二区 | 色偷偷视频 | 污片网站在线观看 | 求一个黄色网址 | 少妇喷水在线观看 | 国产中文字幕91 | 97视频| 精品欧美一区二区三区在线观看 | 国产suv精品一区二区 | 国产精品乱码久久久久久 | 欧美www | www性| 在线免费观看日本 | 亚洲黄色成人 | 国产高清sp| 日产精品一区二区 | 人人澡澡人人 | 玖玖国产精品视频 | 在线国产一区二区 | 欧洲久久久久 | 亚洲自拍第三页 | 精品动漫一区二区三区的观看方式 | 成人羞羞国产免费游戏 | 夫妻自拍偷拍 | 中文字幕一区二区人妻视频 | 性色av一区二区三区四区 | 国产精品区二区三区日本 | 一本色道久久亚洲综合精品蜜桃 | 污网在线看| 亚洲理论片 | 妺妺窝人体色WWW精品 | 久久人人妻人人人人妻性色av | 在线黄色大片 | 国产精品永久免费观看 | 高潮网 | 日本在线精品视频 | 在线不卡一区二区 | 久国产精品 | h片在线观看网站 | 黄色一级免费片 | 欧美大黑bbbbbbbbb在线 | 亚洲视频免费在线播放 | 欧美日韩人妻一区二区 | 黑帮大佬和我的三百六十五天 | 欧美又粗又长 | 91成人免费看 | 黄色福利视频网站 | 亚洲精品国产精品国自产 | 亚洲第一福利视频 | 极品美女高潮 | 成人爽a毛片一区二区免费 日本高清免费看 | 一本之道久久 | 国产999久久久 | 91看视频 | 日韩大片av | 亚洲情网| 中文字幕亚洲一区 | 色七七桃花综合影院 | 天天干天天上 | 精品国产乱码久久久久久图片 | 久久99一区 | 日韩欧美中文字幕一区二区三区 | 日本在线不卡一区二区 | 中文字幕超清在线免费观看 | 美女爆乳18禁www久久久久久 | www.蜜臀| 国产乱色精品成人免费视频 | 国产精品久久久久久久妇 | 欧美午夜一区二区 | 欧洲美女毛片 | 亚洲av永久无码精品一区二区国产 | 少妇毛片一区二区三区粉嫩av | 国产一区二区三区免费观看 | 欧美性猛交乱大交3 | 99亚洲视频 | 尤物视频在线观看 | 亚洲一区二区三区四区五区xx | 成人免费在线小视频 | 欧美成人高清 | 婷婷综合色| 国产精品中文字幕在线观看 | 欧美黑人一区二区三区 | www.日韩在线观看 | 日本内谢少妇xxxxx少交 |