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

วิธีระบุและพิมพ์ Perfect Numbers ทั้งหมดในช่วง [2, n] ด้วย Python

Perfect number คือจำนวนเต็มบวกที่เท่ากับผลรวมของ proper divisors ตัวเลข perfect น้อยที่สุดคือ 6 (1+2+3)

หา perfect numbers ในช่วงได้โดยทดสอบเงื่อนไขทุกตัวเลขในช่วง

ตัวอย่าง

def print_perfect_nums(start, end):
    for i in range(start, end + 1):
        sum1 = 0
        for x in range(1, i):
            # ตรวจสอบว่าเป็น divisor ถ้าใช่บวกใน sum
            if (i % x == 0):
                sum1 = sum1 + x
        if (sum1 == i):
            print(i)

print_perfect_nums(1, 300)

ผลลัพธ์

6 28