Dưới đây là ví dụ ước số chung của hai số trong Java:
Ví dụ
public class Demo{
static int find_gcd(int val_1, int val_2){
if (val_1 == 0)
return val_2;
return find_gcd(val_2 % val_1, val_1);
}
static int common_divisors(int val_1, int val_2){
int no = find_gcd(val_1, val_2);
int result = 0;
for (int i = 1; i <= Math.sqrt(no); i++){
if (no % i == 0){
if (no / i == i)
result += 1;
else
result += 2;
}
}
return result;
}
public static void main(String args[]){
int val_1 = 68, val_2 = 34;
System.out.println("Các ước số chung giữa hai số là: ");
System.out.println(common_divisors(val_1, val_2));
}
}
Kết quả
Các ước số chung giữa hai số là: 4
Lớp Demo chứa hàm tĩnh nhận hai giá trị trả về UCLN bằng đệ quy. Hàm khác gọi UCLN và duyệt từ 1 đến căn bậc hai UCLN.
Điều kiện: số mod giá trị duyệt = 0 và số chia giá trị duyệt = giá trị duyệt, thì result (khởi tạo 0) tăng 1. Nếu không thỏa mãn, tăng 2. Trong main, hai giá trị khởi tạo và hàm gọi. Kết quả hiển thị.