Python – Tìm số hoàn hảo

Yêu cầu:
Một số hoàn hảo là một số có tổng các ước số của nó bằng chính số đó. Hãy tìm số hoàn hảo nhỏ hơn N (N nhập từ bàn phím).
Ví dụ: 6 có các ước số là 1, 2, 3 và 6 = 1 + 2 + 3.

Thuật toán:
– Tìm các ước số của số đó. Sau đó tính tổng các ước số.
– So sánh tổng các ước số với số đó. In kết quả ra màn hình.

test.py

"""
# Author: VNCODING
# Function: Find perfect number
# 2022/08/17        first create    VNCODING
"""
print("Input range to find perfect numbers: ")
N = input();
while int(N) < 1:
    print("Input range to find perfect numbers again: ")
    N = input();

print("The perfect number is: ")
for i in range(2, int(N)+1):
    sum = 1
    for j in range(2, i//2+1):
        if i%j == 0:
            sum += j
    if sum == i:
        print(i)

Kết quả:
Input range to find perfect numbers:
5000
The perfect number is:
6
28
496

Be the first to comment

Leave a Reply