Mô tả
Anh Thành là kỹ sư vô tuyến điện phụ trách mạng trạm BTS Viettel tại tỉnh Quảng Nam. Mỗi trạm phát tín hiệu với một bước sóng riêng, và cứ mỗi lần bằng đúng bước sóng thì pha sóng quay về trạng thái ban đầu. Anh cần tìm một mốc thời gian chung sao cho tất cả các trạm cùng đồng pha trở lại trong cùng một khoảnh khắc, đồng thời khoảng cách giữa hai lần đồng pha liên tiếp phải lớn nhất có thể để giảm tần suất căn chỉnh.
Nói cách khác, với danh sách bước sóng của các trạm, bạn cần tìm ước chung lớn nhất của toàn bộ các số trong danh sách. Đây chính là chu kỳ đồng pha lớn nhất — mốc thời gian dài nhất mà mọi trạm cùng quay về trạng thái khởi đầu.
Đầu vào
- Một danh sách số nguyên dương
frequencies, biểu diễn bước sóng của các trạm BTS.
Đầu ra
- Trả về một số nguyên dương là ước chung lớn nhất của tất cả các phần tử trong danh sách.
Ràng buộc
- Số lượng trạm: (1 \le n \le 1000).
- Mỗi bước sóng: (1 \le f_i \le 10^9).
Ví dụ
Ví dụ 1:
Đầu vào: [12, 18, 24]
Giải thích: Ước chung lớn nhất của 12 và 18 là 6. Tiếp tục tìm ước chung lớn nhất của 6 và 24, ta được 6. Vậy mọi trạm cùng đồng pha trở lại sau mỗi 6 đơn vị thời gian.
Đầu ra: 6
Ví dụ 2:
Đầu vào: [7, 13]
Giải thích: 7 và 13 đều là số nguyên tố cùng nhau, không có ước chung nào lớn hơn 1. Vậy ước chung lớn nhất bằng 1.
Đầu ra: 1