Số-hoàn-hảo

Cách kiểm tra số hoàn hảo bằng code C/C++

Khái niệm số hoàn hảo

Mình sẽ nói về khái niệm số hoàn hảo trước nhé. Trước tiên, bạn hãy xem ví dụ sau:

  • Số 6 là một số hoàn hảo vì tổng các ước số thật sự của số 6 là: 1 + 2 + 3 = 6 (tức là bằng chính nó)
  • Số 12 không phải là một số hoàn hảo vì tổng các ước số thực sự của số 12 là: 1 + 2 + 3 + 4 + 6 = 16 (khác với chính nó)

Trong ví dụ trên có khái niệm ước số. Vậy ước số là gì? Giả sử có hai số a và b, nếu a chia hết cho b thì b được gọi là ước số của aƯớc số thật sự là ước số không bao gồm chính nó. Ví dụ:

  • Các ước số của số 6 bao gồm: 1, 2, 3 và 6. Vậy, ước số thật sự của số 6 bao gồm: 1, 2, 3.

Từ đó, mình đi đến khái niệm số hoàn hảo là một số mà tổng các ước số thật sự bằng chính nó. Đến đây chắc bạn đã hiểu.

Viết chương trình kiểm tra số hoàn hảo

  • Đầu tiên ta tìm các ước số thật sự của số a
  • Ta dùng một biến sum tính tổng các ước số thật sự của a
  • Kiểm tra nếu sum == a  thì a chính là số hoàn hảo
  • Lưu ý: các ước số thật sự của a luôn bé hơn hoặc bằng a/2. Các bạn dùng điều kiện này để giới hạn vòng for lại.

Code C

Kết quả sau khi chạy

Code C++

Kết quả sau khi chạy

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

Similar Posts

Subscribe
Notify of
guest
16 Bình luận
Inline Feedbacks
View all comments