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

โปรแกรม Python หาสามตัวเลขพีทาโกรัส (Pythagorean Triplets) ในช่วงที่กำหนด


เมื่อต้องการหาสามตัวเลขพีทาโกรัส (a, b, c) ที่ทำให้ a² + b² = c² ภายในขอบเขตที่กำหนด สามารถใช้สูตรยูคลิด (Euclid's formula)

ตัวอย่างโค้ด

def pythagorean_triplets(limit):
    c, m = 0, 2
    while c < limit:
        for n in range(1, m):
            a = m * m - n * n
            b = 2 * m * n
            c = m * m + n * n
            if c > limit:
                break
            print(a, b, c)
        m += 1

upper_limit = 15
print("The upper limit is:", upper_limit)
print("The Pythagorean triplets are:")
pythagorean_triplets(upper_limit)

ผลลัพธ์

The upper limit is: 15
The Pythagorean triplets are:
3 4 5
8 6 10
5 12 13

คำอธิบาย

  • ใช้สูตรยูคลิด: a = m²-n², b = 2mn, c = m²+n² โดยที่ m > n > 0

  • เริ่ม m = 2 และเพิ่มทีละ 1

  • สำหรับแต่ละ m วน n จาก 1 ถึง m-1

  • ถ้า c เกินขอบเขต ให้หยุดลูปใน

  • พิมพ์สามตัวเลขที่เป็น Pythagorean triplets