Chương trình C ++ để tìm GCD

Mục lục

Ví dụ về các cách khác nhau để tính GCD của hai số nguyên (cho cả số nguyên dương và số nguyên âm) bằng cách sử dụng vòng lặp và các câu lệnh ra quyết định.

Để hiểu ví dụ này, bạn nên có kiến ​​thức về các chủ đề lập trình C ++ sau:

  • C ++ if, if… else và Nested if… else
  • C ++ cho Vòng lặp
  • C ++ while và do… while Loop

Số nguyên lớn nhất có thể chia hoàn toàn hai số nguyên được gọi là GCD hoặc HCF của hai số đó.

Ví dụ 1: Tìm GCD bằng vòng lặp while

 #include using namespace std; int main() ( int n1, n2; cout <> n1>> n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) cout << "HCF = " << n1; return 0; )

Đầu ra

 Nhập hai số: 78 52 HCF = 26

Trong chương trình trên, số nhỏ hơn bị trừ cho số lớn hơn và số đó được lưu thay cho số lớn hơn.

Quá trình này được tiếp tục cho đến khi, hai số trở nên bằng nhau sẽ là HCF.

Ví dụ: 2. Tìm HCF / GCD bằng vòng lặp for

 #include using namespace std; int main() ( int n1, n2, hcf; cout <> n1>> n2; // Swapping variables n1 and n2 if n2 is greater than n1. if ( n2> n1) ( int temp = n2; n2 = n1; n1 = temp; ) for (int i = 1; i <= n2; ++i) ( if (n1 % i == 0 && n2 % i ==0) ( hcf = i; ) ) cout << "HCF = " << hcf; return 0; )

Logic của chương trình này rất đơn giản.

Trong chương trình này, số nguyên nhỏ giữa n1 và n2 được lưu trữ trong n2. Sau đó, vòng lặp được lặp từ i = 1đến i <= n2và trong mỗi lần lặp, giá trị của i được tăng thêm 1.

Nếu cả hai số đều chia hết cho i thì số đó được lưu trong biến hcf.

Khi quá trình lặp kết thúc, HCF sẽ được lưu trữ trong biến hcf.

thú vị bài viết...