Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Chương trình Java UCLN của nhiều số (mảng)

Dưới đây là chương trình Java UCLN của nhiều hơn hai số:

Ví dụ

public class Demo{ 
    static int gcd_of_nums(int val_1, int val_2){ 
        if (val_1 == 0) 
            return val_2; 
        return gcd_of_nums(val_2 % val_1, val_1); 
    } 
    static int find_gcd(int arr[], int no){ 
        int result = arr[0]; 
        for (int i = 1; i < no; i++){ 
            result = gcd_of_nums(arr[i], result); 
            if(result == 1){ 
                return 1; 
            } 
        } 
        return result; 
    } 
    public static void main(String[] args){ 
        int my_arr[] = { 7, 49, 177, 105, 119, 42}; 
        int no = my_arr.length; 
        System.out.println("UCLN các phần tử trong mảng là: "); 
        System.out.println(find_gcd(my_arr, no)); 
    } 
}

Kết quả

UCLN các phần tử trong mảng là 1

Lớp Demo chứa hàm main nhận hai giá trị. Nếu giá trị đầu là 0, giá trị thứ hai trả về. Ngược lại, hàm đệ quy tính UCLN hai phần tử.

Hàm tĩnh khác nhận mảng và số nguyên. Phần tử đầu mảng gán cho result. Vòng for duyệt từ 1 đến số nguyên truyền vào. Hàm UCLN gọi trên phần tử mảng và result. Kết quả gán lại cho result. Nếu result bằng 1, trả về 1, ngược lại trả về result.

Trong main, mảng nguyên được định nghĩa và độ dài gán cho giá trị. Hàm UCLN gọi trên mảng và độ dài. Kết quả hiển thị.