Nội dung Bài tập
- Mã:
- 1718_CTDL_DSLK_02
- Tên:
- Danh sách số nguyên tố - chính phương - hoàn chỉnh
- Dạng thi:
- oi
- Thang điểm:
- 10 điểm
- Giới hạn thời gian:
- 1 giây
- Giới hạn bộ nhớ:
- 256 MB
- Được tạo bởi:
- tamtd
Cho 1 danh sách các số nguyên. Hãy tách các số
là số nguyên tố, số hoàn chỉnh, số chính phương thành từng danh sách riêng.
Yêu cầu: SV bắt buộc sử dụng danh sách liên kết đơn. Nếu không sử dụng danh sách liên kết đơn, kết quả sẽ không được công nhận.
Gợi ý:
- Số nguyên tố là số chỉ có 2 ước số là 1 và chính nó. Vd: 2, 3, 5, 7, 11, 13, ...
- Số chính phương là số có giá trị bằng bình phương của 1 số nguyên. Vd: 1, 4, 9, 16, 25, 36, ...
- Số hoàn chỉnh là số có tổng các ước số (ngoại trừ chính nó) bằng chính nó. Vd: 6 (1+2+3), 28 (1+2+4+7+14), ...
- Sử dụng 3 danh sách liên kết ứng với từng loại số.
- Với mỗi số nguyên nhập vào, kiểm tra đó là loại số gì để thêm vào từng danh sách tương ứng. Lưu ý thứ tự của các số khi thêm vào danh sách, các số nên được thêm vào cuối danh sách.
- Cấu trúc danh sách nên có các chức năng sau:
1. Khởi tạo danh sách
2. Kiểm tra danh sách rỗng
3. Xác định địa chỉ của node thứ i trong danh sách
4. Thêm node mới vào sau một node khác.
5. In danh sách liên kết
Input:
- Cho N số nguyên, mỗi số cách nhau 1 khoảng trắng.
Output:
- Dòng 1: danh sách các số nguyên tố
- Dòng 2: danh sách các số chính phương
- Dòng 3: danh sách các số hoàn chỉnh
*Lưu ý: nếu danh sách rỗng thì in ra chữ "NULL"
Ví dụ:
Input Output 1 2 3 4 5 6 2 3 5 1 4 6
Lưu ý: Xuất "chính xác" từng khoảng trắng. Không dư khoảng trắng cuối dòng hoăc dư dòng trống.
Theme :
Mời bạn soạn code
Ai có thể xem bài này :
Thông tin
Phần thảo luận