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

โปรแกรม Python สำหรับไขปริศนาวางไข่


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาตามที่ระบุด้านล่าง

แจ้งปัญหา − สมมติว่าเราต้องการทราบว่าเรื่องราวใดในอาคารสูง 40 ชั้นสามารถทิ้งไข่ได้อย่างปลอดภัย และเรื่องราวใดจะทำให้ไข่ได้รับความเสียหายเมื่ออยู่บนบกด้วยความช่วยเหลือของไข่ เราจำเป็นต้องแสดงจำนวนเส้นทางขั้นต่ำเพื่อตรวจสอบเรื่องราว

ทีนี้มาดูวิธีแก้ปัญหาในการใช้งานด้านล่าง -

ตัวอย่าง

# dynamic programming
INT_MAX = 32767
# to get minimum trials
def eggDrop(n, k):
   # intialization
   eggFloor = [[0 for x in range(k + 1)] for x in range(n + 1)]
   # base case
   for i in range(1, n + 1):
      eggFloor[i][1] = 1
      eggFloor[i][0] = 0
   # We always need j trials
   for j in range(1, k + 1):
      eggFloor[1][j] = j
   # Fill rest of the entries
   for i in range(2, n + 1):
      for j in range(2, k + 1):
         eggFloor[i][j] = INT_MAX
         for x in range(1, j + 1):
            res = 1 + max(eggFloor[i-1][x-1], eggFloor[i][j-x])
            if res < eggFloor[i][j]:
               eggFloor[i][j] = res
   return eggFloor[n][k]
# main
n = 4
k = 40
print("Minimum number of trials in worst case scenario with " + str(n) + " eggs and "+ str(k) + " floors is " + str(eggDrop(n, k)))

ผลลัพธ์

Minimum number of trials in worst case scenario with 4 eggs and 40 floors is 6

โปรแกรม Python สำหรับไขปริศนาวางไข่

ตัวแปรทั้งหมดได้รับการประกาศในขอบเขตท้องถิ่นและการอ้างอิงของตัวแปรนั้นดูได้จากรูปด้านบน

บทสรุป

ในบทความนี้ เราได้เรียนรู้เกี่ยวกับวิธีการสร้างโปรแกรม Python สำหรับไขปริศนาวางไข่