C++程序:求两个数的公约数


两个数的公约数是指同时能够整除这两个数的数。

例如:

12 的约数是 1, 2, 3, 4, 6, 12。

18 的约数是 1, 2, 3, 6, 9, 18。

因此,12 和 18 的公约数是 1, 2, 3, 6。

这些公约数中最大的一个,称为 12 和 18 的最大公约数。通常用 (a, b) 表示两个整数 a 和 b 的最大公约数。因此,(12, 18) = 6。

最大公约数很重要,因为它可以用来计算两个数的最小公倍数,即同时是这两个数的倍数的最小正整数。两个数 a 和 b 的最小公倍数可以计算为 ab/(a, b)。

例如,12 和 18 的最小公倍数是 12·18/(12, 18) = 12 · 18 / 6 = 36。

Input: a = 10, b = 20
Output: 1 2 5 10
// all common divisors are 1 2 5 10

解释

能够精确地整除这两个数(无余数)的整数。

示例

#include <iostream>
using namespace std;
int main() {
   int n1, n2, i;
   n1=10;
   n2=20;
   for(i=1; i <= n1 && i <= n2; ++i) {
      if(n1%i==0 && n2%i==0) {
         cout<<i<<"\t";
      }
   }
}

更新于:2019年8月19日

2K+ 阅读量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告