Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Input:
zfactor.inp
Output:
zfactor.out
Ngôn ngữ cho phép
C++, PyPy, Python
Với một số nguyên dương ~P~ (~P ≥ 2~), ta có thể phân tích ~P~ thành tích các thừa số nguyên tố, trong đó có một thừa số nguyên tố nhỏ nhất.
Ví dụ:
- ~100 = 2 × 2 × 5 × 5~ thì 2 là thừa số nguyên tố nhỏ nhất của 100.
- ~15 = 3 × 5~ thì 3 là thừa số nguyên tố nhỏ nhất của 15.
- ~17 = 17~ thì 17 là thừa số nguyên tố nhỏ nhất của 17.
Cho trước một dãy gồm ~n~ số nguyên dương ~a_1, a_2, …, a_n~ và một số nguyên dương ~k~.
Đếm xem trong đoạn ~[2, k]~ có bao nhiêu số nguyên có thừa số nguyên tố nhỏ nhất là ~a_i~ (~1 ≤ i ≤ n~).
Input (ZFACTOR.INP
)
- Dòng 1: hai số nguyên dương ~n, k~ (~1 ≤ n ≤ 10^5, 2 ≤ k ≤ 10^6~).
- Dòng 2: ~n~ số nguyên tố ~a_1, a_2, …, a_n~ (~2 ≤ a_i ≤ k, 1 ≤ i ≤ n~).
Output (ZFACTOR.OUT
)
- Gồm ~n~ dòng, dòng thứ ~i~ là số lượng số nguyên trong đoạn ~[2, k]~ có thừa số nguyên tố nhỏ nhất là ~a_i~.
Ví dụ
ZFACTOR.INP
2 10
2 3
ZFACTOR.OUT
5
2
Giải thích:
- Các số trong đoạn ~[2, 10]~ có thừa số nguyên tố nhỏ nhất là ~2~: ~{2, 4, 6, 8, 10}~ → có ~5~ số.
- Các số trong đoạn ~[2, 10]~ có thừa số nguyên tố nhỏ nhất là ~3~: ~{3, 9}~ → có ~2~ số.
Bình luận