辗转相除法介绍
若 m 和 n 为两个正整数,则有:
当m>n, m 与 n 的最大公约数等于 n 与 m%n 的最大公约数;
当n=0,m 与 n 的最大公约数等于 m 。
#include<iostream>
using namespace std;
int main() {
int m, n, t;
cin >> m >> n;
if (m < n) { //排大小
t = m;
m = n;
n = t;
}
while (n) { // (n) 等价于 n!=0 //辗转相除
t = m % n;
m = n;
n = t;
}
cout << m << endl; //注意输出的为较大的数
return 0;
}
olol 注意两数谁大谁小
详见:
辗转相除法_lemon- lemon的博客-CSDN博客https://blog.csdn.net/qq_61542336/article/details/120999485