Nhiều sinh viên trong lớp ôn tập rất đam mê và muốn được thử thách khả năng tư duy lập trình trong bài tập về mảng, Thầy Trình rất vui vẻ và nêu vấn đề:
Với một dãy có N số nguyên dương cho trước, hãy cho biết số ước nhiều nhất của một phần tử bất kỳ
Nhiều sinh viên suy nghĩ: “Chắc không khác gì đếm số ước cho các giá trị số, sau đó tìm ra số ước lớn nhất là đúng yêu cầu”
Một sinh viên trong lớp có tên là Nam tưởng tượng, mỗi số là một thí sinh và "số ước" chính là số bạn bè mà mỗi thí sinh có được. Cậu bắt đầu làm bài bằng cách duyệt từng số và đếm "số ước" của từng số.
Sau một lúc, Nam đã tìm ra số ước nhiều nhất và thách đố các bạn còn lại trong lớp: "Đố các bạn lập trình tìm ra được số lượng ước nhiều nhất giữa tập các số?"
Một số nguyên là số lượng ước lớn nhất cần tìm.
Dữ liệu vào Sao chép |
4 12 20 18 7 |
Dữ liệu ra Sao chép |
6 |
Dữ liệu vào Sao chép |
5 8 7 7 7 8 |
Dữ liệu ra Sao chép |
4 |
Giải thích ví dụ 1: Với N=4: Dãy số gồm 12, 20, 18, 7. Trong đó:
Dãy đã cho có 3 phần tử có 6 ước số => Số lượng ước số nhiều nhất là 6.