Trong bài viết này, chúng ta sẽ tìm hiểu giải pháp cho bài toán sau:
Đề bài – Có 13 ga trung gian giữa A và B. Cần tìm số cách dừng tàu tại 2 ga trung gian sao cho không có 2 ga nào liên tiếp.
Hãy quan sát giải pháp trong triển khai dưới đây:
Ví dụ
# ga dừng
def stopping_station(p, n):
num = 1
dem = 1
s = p
# chọn vị trí chỉ định
while p != 1:
dem *= p
p -= 1
t = n - s + 1
while t != (n - 2 * s + 1):
num *= t
t -= 1
if (n - s + 1) >= s:
return int(num / dem)
else:
return -1
# main
num = stopping_station(2, 13)
if num != -1:
print("Số ga dừng:", num)
else:
print("Không thể")
Kết quả
Số ga dừng: 66
Kết luận
Trong bài này, chúng ta đã học cách làm chương trình Python cho bài toán số ga dừng.