Đâ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