【题目描述】
求两个正整数m,n的最大公约数。
【输入】
输入m,n。
【输出】
m,n的最大公约数。
【输入样例】
4 6
【输出样例】
2
【数据范围】
对于全部数据:m,n<4000000。

#include<iostream>
using namespace std;
int main() {
    int m = 0, n = 0, temp = 0;
    cin >> m >> n;
    while (m % n) {
        temp = m % n;
        m = n;
        n = temp;

    }
    cout << n;
    return 0;
}

使用辗转相除法求最大公约数,例如18,12。
$18\div 12=1...6$
$12\div6=2...0$
不断用除数除以余数,当余数为0的时候,除数就是最大公约数