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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

B - Modular Inverse

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 B - Modular Inverse 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

The modular modular multiplicative inverse of an integer a modulo m is an integer x such that a-1≡x (mod m). This is equivalent to ax≡1 (mod m).

Input

There are multiple test cases. The first line of input is an integer T ≈ 2000 indicating the number of test cases.

Each test case contains two integers 0 < a ≤ 1000 and 0 < m ≤ 1000.

<h4< dd="">Output

For each test case, output the smallest positive x. If such x doesn't exist, output "Not Exist".

<h4< dd="">Sample Input

3 3 11 4 12 5 13

<h4< dd="">Sample Output

4 Not Exist 8

這題就是求乘法逆元
我用的方法比較復雜,我是這么想的,先判斷a和f是不是互質,如果互質才有乘法逆元,否則沒有乘法逆元,費馬小定理可以求出膜是素數的乘法逆元,歐拉定理可以求出膜是非素數的乘法逆元:
具體方法:費馬小定理,先要判斷是不是素數,然后再用快速冪
歐拉定理,先要寫歐拉函數,然后再用快速冪,其中歐拉函數需要一個質數的數組isp
所以用這種方法要寫很多的函數,不過也好,昨天學的,正好好好的復習一下 #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h> using namespace std; typedef long long ll; const int maxn=1e5; int p[maxn];//素數篩 void init() {for(int i=2;i<maxn;i++) p[i]=1;for(int i=2;i*i<maxn;i++){if(p[i]){for(int j=i*i;j<maxn;j+=i){p[j]=0;}}} } //v數組記錄每一個i的最小質因數,isp記錄所有的質數 int v[maxn],isp[maxn],m; void init1() {for(int i=2;i<maxn;i++){if(v[i]==0){isp[m++]=i;v[i]=i;}for(int j=0;j<m;j++){if(v[i]<isp[j]||i*isp[j]>maxn) break;v[i*isp[j]]=isp[j];}} }int gcd(int a,int b) {return b==0? a:gcd(b,a%b); } int euler(int n) {int res=n;for(int i=0;i<m;i++){if(n%isp[i]==0){res=res*(isp[i]-1)/isp[i];}}return res; } int mod; ll mod_pow(ll x,int n) {ll ans=1;while(n){if(n & 1) ans=ans*x%mod;x=x*x%mod;n>>=1;}return ans; }int main() {int t;scanf("%d",&t);while(t--){int f;ll a;scanf("%I64d%d",&a,&f);init();init1();mod=f;int ans;if(gcd(a,f)==1){if(p[f])//費馬小定理{ans=mod_pow(a,f-2);}else//歐拉定理{int exa=euler(f);ans=mod_pow(a,exa-1);}}else {printf("Not Exist\n");continue;}printf("%d\n",ans);}return 0; }

  

轉載于:https://www.cnblogs.com/EchoZQN/p/10290570.html

總結

以上是生活随笔為你收集整理的B - Modular Inverse的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产人妻久久精品一区二区三区 | 人人人人爽 | 国产区在线看 | 久久国产精品一区二区三区 | 亚洲一久久 | 中文字幕精品无码亚 | av导航在线观看 | 亚洲成人自拍视频 | 六月丁香综合网 | 亚洲女人的天堂 | 欧美黑人一级片 | 成年在线观看 | 香蕉蜜桃视频 | 国产亚洲成av人片在线观看桃 | 日韩精品人妻中文字幕 | 国语对白做受69按摩 | 91不卡在线 | 国产精一区 | 超碰日韩| 一二三不卡视频 | 亚州春色| 美女扒开尿口让男人桶 | 182在线视频 | 日韩精品一区二区三区久久 | 国产一区二区三区亚洲 | 久久影院视频 | 免费亚洲视频 | 午夜免费福利影院 | 96久久| av一区二区三区四区 | 精品国产一区二区三区久久久 | 手机看片久久久 | 久久久国产高清 | 羞羞网站在线观看 | 误杀1电影免费观看高清完整版 | 亚洲综合av网 | 久久精品国产成人av | 理论片中文 | 色丁香av| 超碰啪啪| 在线成人免费电影 | 亚洲精品电影网 | 欧美视频日韩 | 视频一区二区国产 | 精品乱子伦一区二区 | 欧美激情h| 三区在线| 蜜臀久久99精品久久久无需会员 | 丰满秘书被猛烈进入高清播放在 | 特级精品毛片免费观看 | 亚洲欧洲日产av | 软萌小仙自慰喷白浆 | sao虎视频在线精品永久 | 二男一女一级一片 | 在线一区不卡 | 天天综合日韩 | 一区二视频 | 日本视频免费在线播放 | 亚洲精品三级 | 久久国产免费看 | 日日夜夜操操操 | 男人天堂手机在线观看 | 国产激情小视频 | 国产美女永久免费 | 亚洲av成人精品一区二区三区在线播放 | 青青99| 亚洲av色区一区二区三区 | 欧美视频精品 | 色女生影院 | 日本久久一区二区 | 欧美黄频| 无套暴操 | 自拍偷拍国内 | 国产毛片在线视频 | 色网址在线观看 | 久久精品日韩 | 国产精品一区电影 | 美国少妇在线观看免费 | 91高清在线| 手机在线一区二区三区 | 国产精品第5页 | 国产国语亲子伦亲子 | 精品一区av| 国产精品成人69xxx免费视频 | 色妹av | 久久精品区 | 欧美男同又粗又长又大 | 亚洲国产亚洲 | 国产5区| 91亚洲精品一区 | 中文字幕福利 | 国产性猛交xxxx免费看久久 | 欧美性成人 | 欧美69久成人做爰视频 | 制服丝袜国产精品 | 色五婷婷 | 欧美私人影院 | 免费观看黄色网址 | 久久精品人人做人人爽 |