Gửi bài giải
Điểm:
0,15 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho dãy ~n~ số nguyên dương, ~A = (a_{1}, a_{2}, …, a_{n})~. Hãy đếm số lượng các số nguyên dương ~x~ là ước số chhung của tất cả các số trong dãy. Nói cách khác, bạn phải tìm số lượng các ước số chung của tất cả các phần tử trong dãy.
Ví dụ: Nếu dãy ~A =(2, 4, 6, 2, 10)~, thì các số ~1~ và ~2~ là ước của tất cả các phần tử trong dãy (vì vậy câu trả lời cho trường hợp này là ~2~).
Dữ liệu:
- Dòng đầu tiên của đầu vào chứa số nguyên ~T(1 \le T \le 50)~ là số bộ dữ liệu vào. Theo sau là các bộ dữ liệu vào, mỗi bộ dữ liệu vào gồm 2 dòng:
- Dòng ~1~ chứa một số nguyên ~n(1 \le n \le 10^{5})~ là số phần tử trong dãy ~A~.
- Dòng ~2~ chứa ~n~ số nguyên dương ~a_{1}, a_{2}, …, a_{n} (1 \le a_{i} \le 10^{12})~ mô tả các phần tử của dãy ~A~.
Các số cùng dòng cách nhau bởi dấu cách. Tổng các giá trị của ~n~ trong tất cả các bộ dữ liệu vào không quá ~10^{5}~.
Kết quả:
- Ứng với mỗi bộ dữ liệu vào, chương trình của bạn cần in ra một dòng chứa số nguyên dương ~x~ là số lượng các ước số chung tất cả các phần tử trong dãy ~A~ tương ứng.
Sample Input
2
5
1 2 3 4 5
6
6 90 12 18 30 18
Sample Output
1
4
Bình luận