Giả sử có một hòn đảo. Chỉ có một cửa hàng duy nhất ở vị trí đó, cửa hàng này vẫn luôn mở cửa trừ chủ nhật. Chúng tôi có các giá trị sau làm đầu vào -
- N (Số lượng thực phẩm tối đa mà ai đó có thể mua mỗi ngày).
- S (Số ngày cần thiết để một người sống sót).
- M (Số lượng thức ăn cần thiết mỗi ngày để tồn tại).
Nếu đó là thứ Hai, và chúng ta cần sống sót trong S số ngày tiếp theo. Chúng tôi phải kiểm tra xem chúng tôi có thể sống sót hay không, nếu chúng tôi có thể tìm thấy số ngày tối thiểu mà chúng tôi cần mua thực phẩm, để chúng tôi có thể sống sót trong S số ngày tiếp theo.
Vì vậy, nếu đầu vào là S =12, N =24, M =3, thì đầu ra sẽ là Đúng và số ngày tối thiểu mà chúng ta cần mua thực phẩm là 2, vì chúng ta có thể tồn tại 8 ngày (kể từ thứ Hai hiện tại đến thứ Hai tuần sau) sử dụng 24 đơn vị thực phẩm, sau đó mua lại 12 đơn vị cho 4 ngày tiếp theo.
Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -
- if (N * 6
6) or M> N, then - trả về Sai
- nếu không,
- count:=thương số của (M * S) / N
- nếu (M * S) chia hết cho N thì
- count:=count + 1
- trả về True và đếm
Ví dụ
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
def solve(S, N, M): if ((N * 6) < (M * 7) and S > 6) or M > N: return False else: count = (M * S) // N if ((M * S) % N) != 0: count += 1 return (True, count) S = 12 N = 24 M = 3 print(solve(S, N, M))
Đầu vào
12, 24, 3
Đầu ra
(True, 2)