Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để xác định và in tất cả các số hoàn hảo trong một khoảng đóng [2, n] nào đó bằng Python?


Một số hoàn hảo là một số nguyên dương bằng tổng các ước số thích hợp của nó. Số hoàn hảo nhỏ nhất là 6, là tổng của 1, 2 và 3.

Bạn có thể tìm các số hoàn hảo trong một phạm vi nhất định bằng cách thử nghiệm từng số với điều kiện đã cho trong phạm vi đã cho.

ví dụ

def print_perfect_nums(start, end):
   for i in range(start, end + 1):
   sum1 = 0
   for x in range(1, i):
      # Check if a divisor, if it is, add to sum
      if(i % x == 0):
         sum1 = sum1 + x
         if (sum1 == i):
            print(i)
print_perfect_nums(1, 300)

Đầu ra

Điều này sẽ cung cấp kết quả

6
28