Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าเป็นไปได้ที่จะอยู่รอดบนเกาะใน Python


สมมุติว่ามีเกาะ ที่ตั้งนั้นมีร้านเดียว ร้านนี้เปิดตลอดเวลายกเว้นวันอาทิตย์ เรามีค่าต่อไปนี้เป็นอินพุต -

  • N (จำนวนอาหารสูงสุดที่ซื้อได้ในแต่ละวัน)
  • S (จำนวนวันที่ต้องอยู่รอด)
  • M (จำนวนอาหารที่ต้องการในแต่ละวันเพื่อความอยู่รอด)

ถ้าเป็นวันจันทร์ เราต้องรอดไปอีกไม่กี่วัน เราต้องตรวจสอบว่าเราจะรอดหรือไม่ ถ้าเราสามารถหาจำนวนวันขั้นต่ำที่เราต้องซื้ออาหาร เพื่อที่เราจะสามารถอยู่รอดได้ในจำนวนวัน S ถัดไป

ดังนั้นหากอินพุตเป็น S =12, N =24, M =3 ผลลัพธ์จะเป็น True และจำนวนวันขั้นต่ำที่เราต้องซื้ออาหารคือ 2 เนื่องจากเราสามารถอยู่รอดได้ 8 วัน (จากวันจันทร์ปัจจุบัน) ถึงวันจันทร์หน้า) โดยใช้อาหาร 24 หน่วย แล้วซื้อซ้ำ 12 หน่วย ในอีก 4 วันข้างหน้า

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า (N * 6 6) หรือ M> N แล้ว
    • คืนค่าเท็จ
  • มิฉะนั้น
    • จำนวน :=ผลหารของ (M * S) / N
    • ถ้า (M * S) หารด้วย N ลงตัว
      • นับ :=นับ + 1
  • คืนค่า True และนับ

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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))

อินพุต

12, 24, 3

ผลลัพธ์

(True, 2)