Phân lớp

Thứ Năm, 25 tháng 6, 2015
                                             Tên chương trình: CLASS.PAS
Gọi S(x) là số ước của số nguyên dương x. Hai số nguyên dương x và y được gọi là hai số cùng lớp k nếu S(x) = S(y) = k .
Ví dụ:   S(6) = 4 vì 6 có bốn ước là 1, 2, 3, và 6.
            S(8) = 4
            S(7) = 2
            S(13) = 2
Như vậy, 6 và 8 là hai số thuộc lớp 4 , 7 và 13 là hai số thuộc lớp 2.
Cho N số nguyên dương  a1, a2, ..., aN. Hãy cho biết:
  1. Các số đã cho được chia thành bao nhiêu lớp khác nhau.
  2. Số lượng phần tử trong mỗi lớp là bao nhiêu?
Dữ liệu vào: Vào từ tập tin văn bản CLASS.IN:
Dòng đầu tiên ghi số nguyên N, 1  ≤  N  ≤   1000
Tiếp đến là N số nguyên dương a1, a2, ... ,aN, có thể viết trên nhiều dòng, mỗi số được viết cách nhau ít nhất một dấu cách, 1  ≤  ai  ≤  65530 
Kết quả: Đưa ra tập tin văn bản:
Dòng đầu tiên là số lớp S tìm được.
Tiếp đến là S dòng, mỗi dòng chứa hai giá trị k và d , trong đó k là số ước của các số trong lớp, d là số phần tử có trong lớp k. Mỗi số được cách nhau ít nhất bởi một dấu cách.

class.in
class.ou
5
6  2 13
7 8
2
2 3
Chia sẻ bài viết ^^
Other post

All comments [ 0 ]


Your comments