HƯỚNG DẪN GIẢI ĐỀ KIỂM TRA GIỮA KÌ II – KHỐI 11

Câu 1: Tạo một danh sách có n phần tử là số nguyên a0, a1, a2,… an-1 (với 4 ≤ n ≤ 99) được nhập vào từ bàn phím. Thực hiện các nhiệm vụ theo thứ tự:

+ In ra danh sách vừa nhập.

+ Sắp xếp danh sách vừa nhập theo yêu cầu: số chẵn thì tăng dần từ đầu danh sách, số lẻ thì giảm dần về cuối danh sách.

Ví dụ:

INPUTOUPUT
10[11, 9, -6, 0, 2, 8, 13, 4, 10, 15]
11 9 -6 0 2 8 13 4 10 15[-6, 0, 2, 4, 8, 10, 15, 13, 11, 9]

Câu 2: Tính tổng số lượng số nguyên tố có trong danh sách, in ra danh sách các số nguyên tố đó từ danh sách đã nhập vào ở trong Câu 1.

Ví dụ:

INPUTOUPUT
103
11 9 -6 0 2 8 13 4 10 15[11, 2, 13]
# Khởi tạo danh sách có n phần tử
n = int(input("Nhập số phần tử của danh sách: "))
lst = []
for i in range(n):
    lst.append(int(input(f"Nhập phần tử thứ {i + 1}: ")))
print("Danh sách vừa nhập là:",lst)
# Khởi tạo danh sách rỗng: chẵn và lẻ.
evens = []
odds = []
for num in lst:
    # Nếu số chẵn trong DS thì thêm vào danh sách rỗng chẵn
    if num % 2 == 0:
        evens.append(num)
    # ngược lại là số lẻ trong DS thì thêm vào danh sách rỗng lẻ
    else:
        odds.append(num)
# Sắp xếp danh sách tăng dần với số chẵn, giảm dần với số lẻ
evens.sort()
odds.sort(reverse=True)
# Nối danh sách chẵn lẻ lại với nhau.
L = list(evens + odds)
print("Danh sách sau khi sắp xếp là:",L)

# Kiểm tra số nguyên tố
KNT = []
SNT = []
dem = 0
for num in L:
    # Số nguyên tố là số lớn hơn hoặc =2, chỉ kiểm tra số lớn 2 có là SNT không
    if num>=2:
        # Gán tổng số ước ban đầu bằng 0, nếu tổng ước >=2 thì không phải SNT
        tong_uoc=0
        # Kiểm tra lặp từ 2 đến căn 2 của n xem có bao nhiêu ước.
        for i in range(2,int(num**0.5)+1):
            if num%i==0: tong_uoc=tong_uoc+i
            # Số lượng ước >=2 thì thêm vào mảng Không là nguyên tố
        if tong_uoc>=2: KNT.append(num)
            # Số lượng ước =1 thì thêm vào mảng là số nguyên tố
        else: 
            SNT.append(num)
            # Mỗi lần thêm số ng.tố vào mảng thì tăng biến đếm lên 1.
            dem+=1
if dem==0:
    print("Danh sách nhập vào không có số nguyên tố!")
    # In ra tổng số nt và mảng chứa số nguyên tố/ Mảng không ng.tố thì ko in.
else:
    print("Danh sách nhập vào có",dem,"số nguyên tố là:",SNT)
    

Cách tìm Số nguyên tố có thể áp dụng cách Gắn cờ hiệu, trong bài hướng dẫn trước đây.

You may also like...

0 0 đánh giá
Đánh giá bài viết
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Bạn hãy viết bình luận cho nội dung này !x