
Anonymous
0
0
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ó
- asked 6 months agoVotes
0Answers
0Views
Giải SBT Tin học 10 Kết nối tri thứcBài 21: Câu lệnh lặp While
Câu 21.14 trang 45 SBT Tin học 10
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.
Trả lời:
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
Xem thêm lời giải sách bài tập Tin học lớp 10 bộ sách Kết nối tri thức hay, chi tiết nhất:
Xem thêm lời giải sách bài tập Tin học lớp 10 bộ sách Kết nối tri thức hay, chi tiết nhất:
Bài 22: Kiểu dữ liệu danh sách
Bài 23: Một số lệnh làm việc với dữ liệu danh sách