最大公约数算法

来源:互联网 发布:c 界面编程 编辑:程序博客网 时间:2024/05/07 04:24

1、连续整数检测法。

#include<iostream>using namespace std;int goc(int m, int n){int t;if (m>n)t = n;elset = m;while (t){if (m%t == 0 && n%t == 0){break;}else t = t - 1;}return t;}int main(){int a=goc(16, 6);cout << a << endl;return 0;}
2:欧几里德算法

int goc(int m,int n){if (m<n){swap(m, n);}return n == 0 ? m: goc(n, m%n);}int main(){int a=goc(6, 16);cout << a << endl;return 0;}



3.公因数算法

int goc(int m, int n){if (m<n){swap(m, n);}int r=m%n;while (r!=0){m = n;n = r;r = m%n;}return n;}int main(){int a=goc(6, 16);cout << a << endl;return 0;}




1 0