Kiểm tra số hoàn hảo bằng Python



Đề bài: Viết chương trình sử dụng ngôn ngữ lập trình Python nhập vào từ bàn phím số nguyên N, kiểm tra và đưa ra kết luận N có phải là số hoàn hảo hay không.
Yêu cầu kiến thức:

  • Nắm được khái niệm số hoàn hảo
  • Cách kiểm tra một số có phải số hoàn hảo hay không
Cơ sở lý thuyết:

  • Số hoàn hảo (hay còn gọi là số hoàn chỉnh, số hoàn thiện hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương chính thức của nó (số nguyên dương bị nó chia hết ngoại trừ nó) bằng chính nó.
  • Cách để kiểm tra N có phải là số hoàn hảo không thì ta chỉ cần tính tổng tất cả các ước của N trong khoảng từ 1 đến N – 1, nếu tổng bằng N thì đó là số hoàn hảo:
    • Bước 1: Yêu cầu người dùng nhập số cần kiểm tra bằng hàm input()
    • Bước 2: Lặp từ 1 đến N – 1, tính tổng tất cả các ước số của N trong khoảng đó.
    • Bước 3: Nếu tổng bằng N thì N chính là số hoàn hảo.

Code tham khảo dưới đây được viết trên Python ver 3.8:


# Ho ten: Hoang Van Tuan
# Website: timoday.edu.vn


def kiemtraHoanHao(n):
    tong = 0
    for i in range(1, n):
        if (n % i) == 0:
            tong += i
    if tong == n:
        return True
    else:
        return False


n = int(input('Nhap vao so nguyen n lon hon 0: '))
if kiemtraHoanHao(n):
    print(n, ' la so hoan hao')
else:
    print(n, ' khong la so hoan hao')

Bài tập: Viết chương trình tìm và in ra các số hoàn hảo nhỏ hơn 5000.

Kết luận:

  • Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
  • Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây

Có thể bạn sẽ thích…

Trả lời

EnglishVietnamese