Câu hỏi trong đề: Chuyên đề Tin 12 CTST Bài 1.3. Ứng dụng của hàng đợi !!
Quảng cáo
Trả lời:
Liệt kê một số hoạt động hàng ngày cần dùng đến hàng đợi: phân bố tài nguyên của hệ điều hành, thứ tự gửi email, in tài liệu, xếp hàng mua vé, lấy số khám bệnh ở bệnh viện, xếp hàng thanh toán ở siêu thị,…
Hot: 500+ Đề thi thử tốt nghiệp THPT các môn, ĐGNL các trường ĐH... file word có đáp án (2025). Tải ngay
- Sổ tay Địa Lí 12 (chương trình mới) ( 18.000₫ )
- Sổ tay Giáo dục Kinh tế & Pháp luật 12 (chương trình mới) ( 18.000₫ )
- Sổ tay lớp 12 các môn Toán, Lí, Hóa, Văn, Sử, Địa, KTPL (chương trình mới) ( 36.000₫ )
- Tuyển tập 30 đề thi đánh giá năng lực Đại học Quốc gia Hà Nội, TP Hồ Chí Minh (2 cuốn) ( 150.000₫ )
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
*Mã giả kiểm tra số Palindrome:
isPalindrome (a)
Nếu a ( @
raise ValueError('Giá trị tham số nhỏ hơn zero') Khởi tạo hàng đợi queue rỗng
Khởi tạo ngăn xếp stack rỗng while a khác 9 :
r = số dư a chia 10 Thêm r vào queue Thêm r vào stack
a = a chia nguyên 19 while queue khác rỗng Lấy ra digitl từ queue Lấy ra digit2 từ stack if digit1 khác digit2: return False
return True
#Lấy từng giá trị của a đưa vào queue và stack
Lời giải
Hãy viết chương trình in ra màn mình tên người chiến thắng với danh sách n (n ≥ 1) người chơi và số nguyên dương m (m > 0) được nhập từ bàn phím. Chạy chương trình với số người chơi n = 5.
Dữ liệu vào: danh sách tên các người chơi và số nguyên dương m (m > 0).
Dữ liệu ra: tên của người chiến thắng.
* Mã giả trò chơi Hot Potato:
hotPotato (players, m):
Nếu m <= 9 :
raise ValueError('Số lần chuyển phải lớn hơn zero') if len(players) == 0:
raise ValueError('Không có người chơi') Tạo queue rỗng
son trở thêm danh sách các người chơi vào queue
for p in players: Thêm p vào queue player = "
while queue khác rỗng:
for i in range(m)
Lấy ra player từ queue Thêm player vào queue Lấy ra player từ queue return player
#Tên người thắng #Còn người chơi
#Chuyển củ khoai m lần
#Loại người cầm củ khoai
* Code như sau:
def hotPotato (players, m):
if m <= 0 :
raise ValueError('Số lần chuyển phải lớn hơn zero')
if len(players) == 0:
raise ValueError("Không có người chơi')
queue initQueue()
for p in players:enqueue(queue, p)
player = "
#Tạo hàng đợi rỗng
#Thêm danh sách các người chơi vào queue
while not isEmptyQueue(queue):#Còn người chơi
for i in range(m): player dequeue(queue) enqueue(queue, player) player = dequeue(queue) return player
#Chuyển củ khoai m lần
#Loại người cầm củ khoai #Trả về tên người thắng
players = list(map(str, input('Nhập danh sách người chơi:').split()))
m = int(input('Nhập số lần chuyển: '))
if len(players) == 0:
print("Không có người chơi")
elif m <= 0:
print("Số lần chuyển > 9")
else:
winner hotPotato (players, m)
print("Danh sách người chơi:", players) print("Số lần chuyển:", m)
print("Người chiến thắng:", winner)
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.