Bài tập  /  Bài đang cần trả lời

Giải bài có thưởng!

Cho a chứa các số nguyên. Hãy tách mảng a gồm các số chẵn đứng trước và được sắp xếp tăng dần, và các lẻ đứng sau sắp xếp giảm dần

cho a chứa các số nguyên. Hãy tách mảng a gồm các số chẵn đứng trước và được sắp xếp tăng dần, và các lẻ đứng sau sắp xếp giảm dần
input
9
12 34 31 33 24 67 19 55 10
output
10 12 24 34 13 19 33 67 

0 Xem trả lời
Hỏi chi tiết
42
Tham khảo câu trả lời từ Trợ lý ảo Lazi
Để giải bài toán này, chúng ta có thể thực hiện theo các bước sau:

1. Đọc số lượng phần tử và các phần tử trong mảng.
2. Tách các số chẵn và số lẻ vào hai mảng riêng biệt.
3. Sắp xếp mảng số chẵn theo thứ tự tăng dần.
4. Sắp xếp mảng số lẻ theo thứ tự giảm dần.
5. Kết hợp hai mảng đã sắp xếp theo yêu cầu.

Dưới đây là một đoạn mã Python để thực hiện điều này:

```python
# Đọc đầu vào
n = int(input("Nhập số lượng phần tử: "))
a = list(map(int, input("Nhập các số nguyên: ").split()))

# Khởi tạo hai danh sách cho số chẵn và số lẻ
even_numbers = []
odd_numbers = []

# Tách số chẵn và số lẻ
for number in a:
if number % 2 == 0:
even_numbers.append(number)
else:
odd_numbers.append(number)

# Sắp xếp số chẵn tăng dần
even_numbers.sort()

# Sắp xếp số lẻ giảm dần
odd_numbers.sort(reverse=True)

# Kết hợp kết quả
result = even_numbers + odd_numbers

# In kết quả
print(" ".join(map(str, result)))
```

### Giải thích mã:

- Đầu tiên, chúng ta đọc số lượng phần tử từ người dùng và sau đó đọc mảng các số nguyên.
- Tiến hành duyệt qua từng số trong mảng, phân loại số chẵn và số lẻ vào hai danh sách riêng biệt.
- Sử dụng phương thức `sort()` để sắp xếp danh sách số chẵn và `sort(reverse=True)` để sắp xếp danh sách số lẻ.
- Cuối cùng, kết hợp hai danh sách lại với nhau và in chúng ra.

### Ví dụ sử dụng:
Khi bạn chạy đoạn mã này và cung cấp đầu vào tương tự như yêu cầu:

```
9
12 34 31 33 24 67 19 55 10
```

Đầu ra sẽ là:

```
10 12 24 34 67 55 33 19
```

Điều này thể hiện rõ số chẵn đứng trước và được sắp xếp tăng dần, trong khi số lẻ đứng sau và được sắp xếp giảm dần.

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×