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

โปรแกรม Python สำหรับหาความสูงสูงสุดเมื่อจัดเหรียญเป็นรูปสามเหลี่ยม

ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้:

ข้อความปัญหา — กำหนดเหรียญ 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

โปรแกรม Python สำหรับหาความสูงสูงสุดเมื่อจัดเหรียญเป็นรูปสามเหลี่ยม

ตัวแปรทั้งหมดถูกประกาศในขอบเขตท้องถิ่น (local scope) และการอ้างอิงของมันแสดงในรูปภาพด้านบน

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีการเขียนโปรแกรม Python สำหรับหาความสูงสูงสุดเมื่อจัดเหรียญเป็นรูปสามเหลี่ยม