ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้:
ข้อความปัญหา — กำหนดเหรียญ N เหรียญ ต้องจัดให้อยู่ในรูปสามเหลี่ยม คือ แถวแรกมี 1 เหรียญ แถวที่สองมี 2 เหรียญ ต่อไปเรื่อยๆ ต้องการแสดงความสูงสูงสุดที่สามารถทำได้ด้วย N เหรียญ
มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้:
ตัวอย่างโค้ด
# ฟังก์หาค่ารากที่สอง (square root) ด้วยวิธี Newton-Raphson
def squareRoot(n):
# ค่าประมาณเริ่มต้น
x = n
y = 1
e = 0.000001 # ค่าคลาดเคลื่อนที่ยอมรับได้
while (x - y > e):
x = (x + y) / 2
y = n / x
return x
# หาความสูงสูงสุด
def find(N):
# คำนวณส่วนของรากที่สอง
n = 1 + 8 * N
maxH = (-1 + squareRoot(n)) / 2
return int(maxH)
# โปรแกรมหลัก
N = 17
print("Maximum height is :", find(N))
ผลลัพธ์
Maximum height is : 5

ตัวแปรทั้งหมดถูกประกาศในขอบเขตท้องถิ่น (local scope) และการอ้างอิงของมันแสดงในรูปภาพด้านบน
สรุป
ในบทความนี้ เราได้เรียนรู้วิธีการเขียนโปรแกรม Python สำหรับหาความสูงสูงสุดเมื่อจัดเหรียญเป็นรูปสามเหลี่ยม