计算原理依赖于下面的定理:
gcd(m, n) = gcd(n, m mod n)
(m>n 且m%n不为0)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int gcd(int m,int n)
{
if(m<n)
gcd(n,m);
int r;//存储余数
do{
r=m%n;
m=n;n=r;
}while(r);
return m;
}
int main()
{
cout<<"10和5的最大公约数是"<<gcd(10,5);
}