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