Không hỗ trợ Mobile

Chế độ luyện tập yêu cầu môi trường màn hình lớn để làm bài và chống gian lận hiệu quả. Vui lòng truy cập bằng máy tính (Desktop/Laptop) để tiếp tục thao tác.

Quay lại trang chủ

#1925 · ƯỚC NHIỀU NHẤT

MÔ TẢ BÀI TOÁN

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ố?"

Dữ liệu vào

  • Dòng đầu tiên chứa một số nguyên dương N (1≤ N≤ 10^6)
  • Dòng thứ hai chứa N số nguyên dương A_1, A_2…, A_n cách nhau bằng khoảng trắng. (1 ≤ A_i ≤ 10^9 với 1 ≤ i ≤ N)

Dữ liệu ra

Một số nguyên là số lượng ước lớn nhất cần tìm.

BẢNG TỔNG QUAN KẾT QUẢ

# Tài khoản Kết suất Lúc nộp
1
1 ms 284 KB
1204 Bytes
20/11/2024
16:36
2
2 ms 340 KB
2170 Bytes
03/09/2025
23:21
3
P
16 ms 300 KB
566 Bytes
18/12/2025
10:10
4
T
Ngô Văn Tâm @24800600853
18 ms 224 KB
596 Bytes
06/10/2025
21:29
5
B
Trần Gia Bảo @2380600172
19 ms 220 KB
961 Bytes
03/01/2025
17:39
6
20 ms 300 KB
419 Bytes
21/11/2024
08:05
7
T
Đoàn Chí Tân @2180607068
21 ms 224 KB
795 Bytes
30/09/2025
15:56
8
33 ms 300 KB
1191 Bytes
21/11/2024
09:26
9
43 ms 300 KB
1191 Bytes
21/11/2024
15:52
10
44 ms 300 KB
1190 Bytes
23/12/2025
12:03
11
49 ms 288 KB
544 Bytes
21/11/2024
08:33
12
V
50 ms 224 KB
489 Bytes
09/06/2025
12:18
13
Lê Duy Hải @2280600799
57 ms 284 KB
579 Bytes
02/01/2025
21:11
14
K
Lê Trung Kiên @2380601123
58 ms 224 KB
545 Bytes
21/11/2024
09:03
15
Đỗ Chí Thành @24800600886
60 ms 284 KB
506 Bytes
02/01/2025
23:03
16
60 ms 612 KB
551 Bytes
21/11/2024
09:49
17
H
Lê Đức Huy @24820100019
61 ms 256 KB
707 Bytes
21/11/2024
09:48
18
L
61 ms 284 KB
660 Bytes
21/11/2024
09:09
19
N
Lê Minh Nhật @2386400037
61 ms 304 KB
500 Bytes
21/11/2024
10:02
20
V
62 ms 612 KB
625 Bytes
12/09/2025
17:04

LỊCH SỬ CÁ NHÂN

Vui lòng đăng nhập để xem lịch sử làm bài của bạn.

THẢO LUẬN BÀI TOÁN

V
10 tháng trước

Code mẫu

Độ phức tạp O(√n) n/i = k (k là số nguyên) thì i là ước của n Tương tự khi nhân chéo thì n/k = i thì k cũng là 1 ước của n Nếu i = k thì sẽ đếm lên 1 Nếu i khác k thì sẽ đếm lên 2

int demuoc(int n)
{
  int dem = 0;
  for(int i=1;i<=sqrt(n);i++)
  {
    if(n%i==0)
      if(i == n/i)
        dem++;
      else
        dem+=2;
  }
  return dem;
}
Vào thảo luận 0 Phản hồi

GỢI Ý & HƯỚNG DẪN

Giải thích ví dụ 1: Với N=4: Dãy số gồm 12, 20, 18, 7. Trong đó:

  • 126 ước (1,2,3,4,6,12)
  • 206 ước
  • 186 ước
  • 72 ước

Dãy đã cho có 3 phần tử có 6 ước số => Số lượng ước số nhiều nhất là 6.

Viết code