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。

由于许多原因,最大公约数很重要。例如,它可以用于计算两个数字的LCM,即,最小正整数,是这些数字的倍数。数字a和b的最小公倍数可以计算为ab(a,b)。

例如,12和18的最小公倍数是12·18(12,18)= 12·18.6

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";
      }
   }
}