Số hoàn hảo (perfect number) là số nguyên dương bằng tổng các ước số thực sự của nó. Số hoàn hảo nhỏ nhất là 6, bằng tổng 1, 2, 3.
Bạn tìm số hoàn hảo trong khoảng bằng cách kiểm tra từng số điều kiện trong khoảng.
Ví dụ
def print_perfect_nums(start, end): for i in range(start, end + 1): sum1 = 0 for x in range(1, i): # Kiểm tra ước số, nếu đúng cộng vào tổng if(i % x == 0): sum1 = sum1 + x if (sum1 == i): print(i) print_perfect_nums(1, 300)
Kết quả
Điều này sẽ cho kết quả
6 28