C++辗转相除法求最大公约数
图片来自百度百科
#include<iostream>
using namespace std;
int main()
{
int a, b;
cin >> a >> b;
if (a < b) //使输入的两个数a大于b
{
int t = a;
a = b;
b = t;
}
while (b != 0) //当b=0时结束循环
{
a = a % b; //因为要保留a%b和b这两个数,且b>a%b,所以先把a%b的值赋给a,再交换a与b,这样保证了a>b
int t = a;
a = b;
b = t;
}
cout << a << endl;
}