Mô tả
Trạm quan trắc mực nước sông Đồng Nai vừa lắp đặt ba loại cảm biến mới để đo mực nước, lưu lượng và chất lượng nước. Mỗi loại cảm biến lại được lập trình gửi dữ liệu về máy chủ với một chu kỳ lấy mẫu khác nhau. Để hệ thống tổng hợp dữ liệu chạy trơn tru, kỹ sư viên cần tìm một chu kỳ gốc chung lớn nhất sao cho chu kỳ của mọi cảm biến đều là bội số của chu kỳ gốc này. Khi đó, anh ấy có thể cài đặt bộ xử lý trung tâm chỉ cần chạy đúng theo chu kỳ gốc, đảm bảo không bỏ sót bất kỳ gói tin nào từ các cảm biến. Nhiệm vụ của bạn là viết chương trình nhận vào danh sách các chu kỳ lấy mẫu (số nguyên dương) và trả về chu kỳ gốc chung đó — chính là ước chung lớn nhất của toàn bộ dãy số.
Đầu vào
- Một mảng số nguyên dương
cycles(độ dài từ 1 đến 1000).
Đầu ra
- Trả về một số nguyên dương duy nhất là ước chung lớn nhất của tất cả các phần tử trong
cycles.
Ràng buộc
- 1 ≤ len(cycles) ≤ 1000.
- 1 ≤ cycles[i] ≤ 10^9.
Ví dụ
Ví dụ 1:
- Đầu vào:
[12, 8, 4] - Đầu ra:
4 - Giải thích: UCLN(12, 8) = 4, tiếp tục UCLN(4, 4) = 4. Vậy chu kỳ gốc lớn nhất là 4 phút/lần. Cảm biến 1 gửi mỗi 12 phút (gấp 3 lần gốc), cảm biến 2 mỗi 8 phút (gấp 2 lần gốc), cảm biến 3 mỗi 4 phút (khớp gốc).
Ví dụ 2:
- Đầu vào:
[15] - Đầu ra:
15 - Giải thích: Chỉ có một cảm biến, nên chu kỳ gốc chính là chu kỳ của cảm biến đó.