我无法弄清楚如何使用素数分解找到LCM。我设法找到两个数字的素因子并将它们放在数组中,但我不知道如何选择应该使用哪一个来计算LCM。
int lcm(int a, int b)
{
int arrA[100], arrB[100], x, y, z;
x=2;
y=0;
while(a>1)
{
while(a%x==0)
{
a=a/x;
arrA[y]=x;
cout<<arrA[y]<<endl;
y++;
}
x++;
}
x=2;
z=0;
while(b>1)
{
while(b%x==0)
{
b=b/x;
arrB[z]=x;
cout<<arrB[z]<<endl;
z++;
}
x++;
}
}
答案 0 :(得分:0)
您可以通过乘以所有常见因子来计算GCD 例如。如果a是2 * 2 * 2 * 3 * 5而b是2 * 2 * 5 * 5,则 常见因素是2 * 2 * 5,因此GCD是20.
两个数字a和b的LCM是(a*b)/gcd(a,b)