2015-11-16 2 views
0

Я не могу понять, как найти 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++; 
} 
} 
+3

Я считаю, что ваш вопрос скорее является проблемой математического алгоритма, чем программным ... – numX

ответ

0

Вы можете вычислить GCD, умножив все распространенные факторы.
Например. если а равно 2 * 2 * 2 * 3 * 5 и б равно 2 * 2 * 5 * 5,
общие факторы 2 * 2 * 5, так что НОД 20.

МДК двух чисел a и b is (a*b)/gcd(a,b)

Смежные вопросы