快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元

快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元

ID:41700238

大小:74.62 KB

頁數(shù):5頁

時(shí)間:2019-08-30

快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元_第1頁
快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元_第2頁
快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元_第3頁
快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元_第4頁
快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元_第5頁
資源描述:

《快速指數(shù)取模運(yùn)算與用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、一、實(shí)驗(yàn)1.1源代碼:#includc"stdio.h"#include"stdlib.h"#includeuiostreamMusingnamespacestd;voidModc(inta,intb,intn){intc=l;do{if(a%2==0){a=a/2;b=(b*b)%n;}else{a=a-1;c=(b*c)%n;}}whilc(a!=0);cout?"取余結(jié)果為:M?c?endl;}voidmain(){inta,b,n;cout?"輸入格式范例bAamodn"?endl;cout?"u?endl;cout?H請(qǐng)輸入指數(shù)a:n?endl;

2、cin?a;coutvv"請(qǐng)輸入該基數(shù)b:"?endl;cin?b;coutvv"請(qǐng)輸入被除數(shù)n:"?endl;cin?n;Mode(a,b,n);二、實(shí)驗(yàn)效果圖:回S3nodn請(qǐng)輸入*旨藪a:37請(qǐng)輸入該基數(shù)b:30請(qǐng)輸入被除數(shù)n:77取余結(jié)果為:2Pressanykeytocontinuenr實(shí)驗(yàn)1.2用擴(kuò)展歐幾里得算法求解最大公約數(shù)和求乘法逆元一、實(shí)驗(yàn)1.2源代碼:#includeintextended_Gcd(inta,intb,int&x,int&y)〃求最大公約數(shù){if(b==0){x=1;y=o;returna;}else{

3、intged=extended_Gcd(b,a%b,x,y);intt=x;x二y;y=t-(a/b)*y;returnged;}}intextended_Ivn(intf,intd,int^result)〃求乘法逆元{intxl,x2,x3,yl,y2,y3,tl,t2,t3,q;xl=y2=1;x2=yl=0;x3=(f>=d)?f:d;y3=(f>=d)?d:f;while(1){if(y3==0){Result=x3;//兩個(gè)數(shù)不互索則result為兩個(gè)數(shù)的最大公約數(shù),此時(shí)返回值為零return0;if(y3==1)^result=y2;〃兩個(gè)數(shù)互

4、素則resutl為其乘法逆元,此吋返冋值為1return1;q=x3/y3;tl=xl-q*yl;t2=x2-q*y2;t3=x3-q*y3;xl=yl;x2=y2;x3=y3;yl=tl;y2=t2;y3=t3;intmain(){intx,y,z;inta,b;int*p,*q;p=&x;q=&y;z=0;printf(”請(qǐng)輸入兩個(gè)數(shù):”);scanf(,,%d%du,&a,&b);if(extended_Gcd(a,b?*p,*q)==1){extended_Ivn(a,b,&z);printf("%d和%<1互素,乘法的逆元是:%d",a,b,

5、z);}else{z=extended_Gcd(a,b,*p,*q);printf(n%d和%<1不互素,最大公約數(shù)為:%dM,a,b,z);}return0;二、實(shí)驗(yàn)效果圖:El"C:UsersSorrelDesktop^f^$;^^Debug^^l.2.exe"■3?C:UsersSoirelDesktop新建文件夾Debug^驗(yàn)l?2.exe”1=IfaIf231請(qǐng)輸入兩個(gè)數(shù)「12344321>1234和4321互素,乘法的逆兀是:-1082二Pressanykeytocontinue■3"C:UsersSorrel

6、DesktopWr^^{i^Debug^^1.2.exe,'劇磁,詼元是:劇Pressanykeytocontinue

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。