Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ để tìm GCD và LCM của n số

Đây là mã để tìm ra GCD và LCM của n số. GCD hoặc Ước chung lớn nhất của hai hoặc nhiều số nguyên không phải là số 0, là số nguyên dương lớn nhất chia cho mỗi số nguyên. GCD còn được gọi là Yếu tố chung lớn nhất.

Bội số chung nhỏ nhất (LCM) của hai số là số nhỏ nhất (không phải số 0) là bội số của cả hai số.

Thuật toán

Begin
   Take two numbers as input
   Call the function gcd() two find out gcd of n numbers
   Call the function lcm() two find out lcm of n numbers
   gcd(number1, number2)
   Declare r, a, b
   Assign r=0
   a = (number1 greater than number2)? number1: number2
   b = (number1 less than number2)? number1: number2
   r = b
   While (a mod b not equal to 0)
      Do
         r = a mod b
         a=b
         b=r
      Return r
   Done
   lcm(number1, number2)
   Declare a
   a=(number1 greater than number2)?number1:number2
   While(true) do
   If
      (a mod number1 == 0 and a number2 == 0)
      Return a
      Increment a
   Done
End

Mã mẫu

#include<iostream>
using namespace std;
int gcd(int m, int n) {
   int r = 0, a, b;
   a = (m > n) ? m : n;
   b = (m < n) ? m : n;
   r = b;
   while (a % b != 0) {
      r = a % b;
      a = b;
      b = r;
   }
   return r;
}
int lcm(int m, int n) {
   int a;
   a = (m > n) ? m: n;
   while (true) {
      if (a % m == 0 && a % n == 0)
         return a;
         ++a;
   }
}
int main(int argc, char **argv) {
   cout << "Enter the two numbers: ";
   int m, n;
   cin >> m >> n;
   cout << "The GCD of two numbers is: " << gcd(m, n) << endl;
   cout << "The LCM of two numbers is: " << lcm(m, n) << endl;
   return 0;
}

Đầu ra

Enter the two numbers:
7
6
The GCD of two numbers is: 1
The LCM of two numbers is: 42