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ụ:
INPUT | OUPUT |
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ụ:
INPUT | OUPUT |
10 | 3 |
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.