Số hoàn hảo là số tự nhiên có giá trị bằng tổng các ước thực sự của nó (các ước nhỏ hơn chính nó). Ví dụ một vài số hoàn hảo

21.14. Số hoàn hảo là số tự nhiên có giá trị bằng tổng các ước thực sự của nó (các ước nhỏ hơn chính nó). Ví dụ một vài số hoàn hảo:

6: 1 + 2 + 3 = 6

28: 1 + 2 + 4 + 7 + 14 = 28

496: 1 + 2 + 4 + 8 + 16 + 31 + 62 + 124 + 248 = 496

8128: 1 + 2 + 4 + 8 + 16 + 32 + 64 + 127 + 254 + 508 + 1016 + 2032 + 4064 = 8128

Em hãy viết chương trình xác định số hoàn hảo đầu tiên lớn hơn số tự nhiên n được nhập vào từ bàn phím.


Chương trình có thể viết như sau:

# Số hoàn hảo > n cho trước

n = int(input("Nhập giá trị của n: "))

so_hoanhao = n + 1

tim ra = False

while tim_ra == False:

       tong_uocso = 0

       for i in range(1,so_hoanhao):

              if so_hoanhao%i==0:                 # i là ước số

                   tong_uocso=tong_uocso+i

        if tong_uocso == so_hoanhao :

              tim_ra = True

              print( "Số hoàn hảo đầu tiên lớn hơn ", n, " là ", so_hoanhao)

        else:

              so_hoanhao = so_hoanhao + 1


Từ khóa tìm kiếm Google: Giải SBT tin học 10 kết nối tri thức, giải sách kết nối tri thức 10 môn tin học, giải tin học 10 sách mới bài 21, bài 21: Câu lệnh lặp While

Giải những bài tập khác

Bình luận

Giải bài tập những môn khác