Viết trương trình nhập 2 số nguyên dương m và n (m < n). Tìm và in ra các hoàn hảo trong phạm vị từ m đên n Viết trương trình nhập 2 số nguyên dương m và n (m < n). Tìm và in ra các hoàn hảo trong phạm vị từ m đên n
Tham khảo câu trả lời từ Trợ lý ảo Lazi Để tìm và in ra các số hoàn hảo trong phạm vi từ m đến n, ta cần xây dựng một vòng lặp từ m đến n và kiểm tra từng số xem có phải là số hoàn hảo hay không. Một số nguyên dương x được gọi là số hoàn hảo nếu tổng các ước số của x (không tính chính nó) bằng x. Ví dụ, số 6 là số hoàn hảo vì 6 = 1 + 2 + 3. Dưới đây là mã nguồn Python để giải bài toán này: ```python def is_perfect_number(num): sum_of_divisors = 0 for i in range(1, num): if num % i == 0: sum_of_divisors += i return sum_of_divisors == num m = int(input("Nhập số nguyên dương m: ")) n = int(input("Nhập số nguyên dương n (n > m): ")) print("Các số hoàn hảo từ", m, "đến", n, "là:") for num in range(m, n+1): if is_perfect_number(num): print(num) ``` Trong đoạn mã trên, chúng ta định nghĩa một hàm `is_perfect_number` để kiểm tra xem một số có phải là số hoàn hảo hay không. Hàm này sử dụng một vòng lặp để tính tổng các ước số của số đó và so sánh tổng đó với số ban đầu. Sau đó, chúng ta nhập vào hai số nguyên dương m và n từ người dùng. Tiếp theo, chúng ta sử dụng một vòng lặp để kiểm tra từng số từ m đến n và in ra các số hoàn hảo.