早教吧作业答案频道 -->其他-->
扩展的欧几里得算法求逆元就是计算乘法逆元,比如3mod8的乘法逆元为3是如何用欧几里得算法计算的呢,
题目详情
扩展的欧几里得算法求逆元
就是计算乘法逆元,比如3mod8的乘法逆元为3
是如何用欧几里得算法计算的呢,
就是计算乘法逆元,比如3mod8的乘法逆元为3
是如何用欧几里得算法计算的呢,
▼优质解答
答案和解析
数对 x,y ,使得 gcd(a,b)=ax+by.
c++语言实现
#include
#include
using namespace std;
int x,y,q;
void extend_Eulid(int a,int b)
{
if(b == 0){
x = 1;y = 0;q = a;
}else{
extend_Eulid(b,a%b);
int temp = x;
x = y;
y = temp - a/b*y;
}
}
int main()
{
int a,b;
cin>>a>>b;
extend_Eulid(a,b);
printf("%d=(%d)*%d+(%d)*%d\n",q,x,a,y,b);
return 0;
}
你给的题目实际上就是: 给定 a 和b.
a 要有逆元 , 那么gcd( a , b ) = 1
假设a的逆元 为x , 那么就有 a * x mod b = 1
也就是 a * x + b * y = 1
上面的程序中输入a和b就可以求出对应的x和y.
其中 x 就是 a的逆元
c++语言实现
#include
#include
using namespace std;
int x,y,q;
void extend_Eulid(int a,int b)
{
if(b == 0){
x = 1;y = 0;q = a;
}else{
extend_Eulid(b,a%b);
int temp = x;
x = y;
y = temp - a/b*y;
}
}
int main()
{
int a,b;
cin>>a>>b;
extend_Eulid(a,b);
printf("%d=(%d)*%d+(%d)*%d\n",q,x,a,y,b);
return 0;
}
你给的题目实际上就是: 给定 a 和b.
a 要有逆元 , 那么gcd( a , b ) = 1
假设a的逆元 为x , 那么就有 a * x mod b = 1
也就是 a * x + b * y = 1
上面的程序中输入a和b就可以求出对应的x和y.
其中 x 就是 a的逆元
看了 扩展的欧几里得算法求逆元就是...的网友还看了以下:
观察:1+2=3=2^2-1,1+2+2^2=7=2^3-1,1+2+2^2+2^3=15=2^4- 2020-03-31 …
连续写出从一开始的自然数,写到2008时停止,得到一个多位数1,2,3,4,5,6,7,8,9,11 2020-03-31 …
关于高中物理欧姆表的读数~从左到右的排列是ABCD,A是无穷大,D是满偏,B是AC的中点,C是中值 2020-04-13 …
什么叫做自然数有一类自然段数,从第三个数字开始每个数字都是前面两个数字的和,如1347,246等, 2020-05-14 …
0.010%是几为有效数字 2020-05-21 …
几道物理欧姆定律题1.利用一个10欧和一个15欧的电阻,可获得的最大电阻值是几欧,最小电阻值是几欧 2020-06-04 …
4.5几约等于4.5后面可能是几,为什么 2020-06-13 …
2个0.5W的100欧的电阻串联后是几瓦几欧?并联后又是几瓦几欧?求教... 2020-06-15 …
4阶幻方的幻和等于几?3阶幻方正中间得数是几?为什么?试写出一个5阶幻方 2020-06-16 …
请教+5Vsus和+3Vsus对地电阻板子进水,+3VO和+5VO对地几乎短路,断开+5Vsus和 2020-06-25 …