用欧几里得算法求两个正整数的最大公因子

1.写出欧几里得算法求最大公因子gcd(p,q)的算法,并求gcd(13597,24965)
2.把最大公因子gcd(p,q)表示成p与q的线性组合

程序:

#include<iostream>
using namespace std;
int gcd(int m,int n);
void main()
  {
     int m,n;
      cout<<"正整数1:";
      cin>>m;
      cout<<"正整数2:";
     cin>>n;
     cout<<m<<"与"<<n<<"的最大公因子为:"<<gcd(m,n)<<endl;
 }
 int gcd(int m,int n)
 {
   int r;
   int temp;
   int q;
    while(r!=0)
     {
        if(m<n)
        {temp=m;
         m=n;
         n=temp;
        }
         r=m%n;
         q=m/n;
         cout<<m<<"="<<n<<"x"<<q<<"+"<<r<<endl;
         m=n;
         n=r;
     }
     return m;        
 }

运行结果:
用欧几里得算法求两个正整数的最大公因子_第1张图片

你可能感兴趣的:(用欧几里得算法求两个正整数的最大公因子)