作业帮 > 综合 > 作业

C++ 怎么写一个最大公约数表示为两数本身的线性和的形式 即a*m + b*n = GCD(a,b)

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/11 16:51:40
C++ 怎么写一个最大公约数表示为两数本身的线性和的形式 即a*m + b*n = GCD(a,b)
两个整数a,b并求出他们的最大公约数(GCD).要求求出m和n,使得a*m + b*n = GCD(a,b).
C++ 怎么写一个最大公约数表示为两数本身的线性和的形式 即a*m + b*n = GCD(a,b)
#include
using namespace std;
void GCD(int a,int b,int &d,int &m,int &n) {
if(b == 0) {
d = a;
m = 1;
n = 0;
return ;
}
int tempd,tempm,tempn;
GCD(b,a%b,tempd,tempm,tempn);
d = tempd;
m = tempn;
n = tempm-((a/b)*tempn);
}
int main()
{
int a,b,d,m,n;
coutb;

GCD(a,b,d,m,n);
cout