Computer >> 컴퓨터 >  >> 프로그램 작성 >> 프로그램 작성

두 숫자의 최소공배수 구하기


수학에서 LCM(최소공배수)은 두 숫자로 나눌 수 있는 가장 작은 정수입니다.

LCM은 인수분해 등과 같은 다양한 방법으로 계산할 수 있지만 이 알고리즘에서는 더 큰 수에 1, 2, 3…을 곱했습니다. n 두 번째 숫자로 나누어 떨어지는 숫자를 찾을 때까지

입력 및 출력

Input:
Two numbers: 6 and 9
Output:
The LCM is: 18

알고리즘

LCMofTwo(a, b)

입력: 두 개의 숫자와 b는> b로 간주됩니다.

출력: 및 b의 LCM.

Begin
   lcm := a
   i := 2
   while lcm mod b ≠ 0, do
      lcm := a * i
      i := i + 1
   done

   return lcm
End

예시

#include<iostream>
using namespace std;

int findLCM(int a, int b) {    //assume a is greater than b
   int lcm = a, i = 2;

   while(lcm % b != 0) {    //try to find number which is multiple of b
      lcm = a*i;
      i++;
   }
   return lcm;    //the lcm of a and b
}

int lcmOfTwo(int a, int b) {
   int lcm;
   if(a>b)    //to send as first argument is greater than second
      lcm = findLCM(a,b);
   else
      lcm = findLCM(b,a);
   return lcm;
}

int main() {
   int a, b;
   cout << "Enter Two numbers to find LCM: "; cin >> a >> b;
   cout << "The LCM is: " << lcmOfTwo(a,b);
}

출력

Enter Two numbers to find LCM: 6 9
The LCM is: 18