Chương trình Java để tìm GCD của hai số

Trong chương trình này, bạn sẽ học cách tìm GCD của hai số trong Kotlin. Điều này được thực hiện bằng cách sử dụng các vòng lặp for và while với sự trợ giúp của các câu lệnh if else.

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

  • Câu lệnh Java if… else
  • Java cho Vòng lặp
  • Java while và do… while Loop

HCF hoặc GCD của hai số nguyên là số nguyên lớn nhất có thể chia chính xác cả hai số (không có phần dư).

Ví dụ 1: Tìm GCD của hai số bằng lệnh lặp for và if

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153, gcd = 1; for(int i = 1; i <= n1 && i <= n2; ++i) ( // Checks if i is factor of both integers if(n1 % i==0 && n2 % i==0) gcd = i; ) System.out.printf("G.C.D of %d and %d is %d", n1, n2, gcd); ) )

Đầu ra

 GCD của 81 và 153 là 9

Ở đây, hai số có GCD cần tìm được lưu trữ lần lượt là n1 và n2.

Sau đó, một vòng lặp for được thực hiện cho đến khi i nhỏ hơn cả n1 và n2. Bằng cách này, tất cả các số từ 1 đến nhỏ nhất trong hai số được lặp lại để tìm GCD.

Nếu cả n1 và n2 đều chia hết cho i thì gcd được đặt thành số. Điều này tiếp tục cho đến khi nó tìm thấy số lớn nhất (GCD) chia cả n1 và n2 mà không có dư.

Chúng tôi cũng có thể giải quyết vấn đề này bằng cách sử dụng vòng lặp while như sau:

Ví dụ 2: Tìm GCD của hai số bằng vòng lặp while và câu lệnh if else

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = 153; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Đầu ra

 GCD = 9

Đây là cách tốt hơn để tìm GCD. Trong phương pháp này, số nguyên nhỏ hơn bị trừ khỏi số nguyên lớn hơn và kết quả được gán cho biến chứa số nguyên lớn hơn. Quá trình này được tiếp tục cho đến khi n1 và n2 bằng nhau.

Hai chương trình trên chỉ hoạt động như dự định nếu người dùng nhập số nguyên dương. Đây là một chút sửa đổi của ví dụ thứ hai để tìm GCD cho cả số nguyên dương và số nguyên âm.

Ví dụ 3: GCD cho cả số dương và số âm

 public class GCD ( public static void main(String() args) ( int n1 = 81, n2 = -153; // Always set to positive n1 = ( n1> 0) ? n1 : -n1; n2 = ( n2> 0) ? n2 : -n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) System.out.println("G.C.D = " + n1); ) )

Đầu ra

 GCD = 9

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