C++求最大公约数的四种方法思路,供大家参考,具体内容如下
将最近学的求最大公约数的四种方法总结如下:
第一种:穷举法之一
解释:拿其中一个数出来,用一个临时变量(tem)保存,每次都把那两个数除以这个临时变量。如果能除断,直接返回tem;如果不能除断,tem- -,直到都能除断,再返回tem。tem就是它们的最大公约数。
#includeusing namespace std; int CommFactor1(int m, int n); //函数的声明 int main() { int a, b; cin >> a >> b; cout <<"这两个数的最大公约数为:" <
第二种:穷举法之二
解释:求出两数的所有公因子,再把公因子累乘得到最大公约数。
#includeusing namespace std; int CommFactor2(int m, int n); //函数的声明 int main() { int a, b; cin >> a >> b; cout <<"这两个数的最大公约数为:" <
第三种:辗转相除法
解释:将两个数辗转相除直到余数为0。(具体思想请问度娘)
#includeusing namespace std; int CommFactor3(int m, int n); //函数的声明 int main() { int a, b; cin >> a >> b; cout <<"这两个数的最大公约数为:" <
第四种:辗转相减法
解释:将两个数辗转相减直到两数相等。(具体思想请问度娘)
#includeusing namespace std; int CommFactor4(int m, int n); //函数的声明 int main() { int a, b; cin >> a >> b; cout <<"这两个数的最大公约数为:" < n) { m = m - n; } else { n = n - m; } } return m; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。