C6-07 · Tách chẵn lẻ
Xem dạng PDF
Gửi bài giải
Điểm:
1,00
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Tác giả:
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
Python
Đề
Cho một dãy ~n~ số nguyên có ít nhất một số chẵn và ít nhất một số lẻ. Dùng hai biểu thức tạo danh sách để tách dãy: in các số chẵn trên dòng 1, các số lẻ trên dòng 2, giữ nguyên thứ tự xuất hiện trong dãy.
Dữ liệu vào
- Dòng 1: số nguyên ~n~.
- Dòng 2: ~n~ số nguyên ~a_1, \ldots, a_n~, cách nhau một dấu cách.
Kết quả
- Dòng 1: các số chẵn của dãy theo thứ tự xuất hiện.
- Dòng 2: các số lẻ của dãy theo thứ tự xuất hiện.
Các số cách nhau một dấu cách; số trùng nhau thì in đủ số lần.
Ràng buộc
- ~2 \le n \le 100~.
- ~-10^9 \le a_i \le 10^9~; dãy có ít nhất một số chẵn và một số lẻ.
Ví dụ
Dữ liệu vào:
6
5 8 -3 0 12 7
Kết quả:
8 0 12
5 -3 7
Giải thích ví dụ
Số chẵn (chia hết cho 2) theo thứ tự xuất hiện: 8, 0, 12 — số 0 cũng là số chẵn. Số lẻ: 5, −3, 7. Trong Python -3 % 2 bằng 1, nên điều kiện x % 2 != 0 (hoặc x % 2 == 1) nhận đúng cả số lẻ âm.
Lưu ý
- Lọc ra danh sách mới; đừng xóa phần tử khỏi danh sách đang duyệt (mục 6.10 — hai số chẵn đứng liền nhau sẽ bị sót).
- "Chẵn" nói về giá trị, không phải vị trí:
ds[::2]là phần tử ở chỉ số chẵn, khác hẳn. - Không sắp xếp; giữ thứ tự xuất hiện.
- Hệ thống chỉ chấm kết quả; yêu cầu "dùng hai biểu thức tạo danh sách" do giảng viên xem khi chấm tay.
Nguồn trong sách: Bài C6-07, mục 6.12, giáo trình Lập trình cơ sở với Python — TS. Nguyễn Quốc Long · Mức: (**)
Đang tải...