Số hoàn hảo là gì? Nó có phải là số hoàn thiện?
Trong bài này sẽ giúp bạn định nghĩa số hoàn thiện và hay còn gọi là số hoàn hảo. Đây là bài toán được sử dụng rất nhiều khi các bạn học lập trình cơ bản vì nó giúp bạn luyện tư duy lập trình.
Số hoàn hảo là gì?
Số hoàn hảo hay còn gọi là số hoàn thiện, đó là một số nguyên dương lớn hơn 0 và có tổng các ước (ngoại trừ số đó) bằng chính nó.
Theo định nghĩa về ước số thì N cũng là ước của chính nó, và nếu áp dụng cả số này vào định nghĩa thì trên thực tế sẽ không có số hoàn hảo. Vì vậy công thức chung sẽ là:
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ài viết này được đăng tại [free tuts .net]
Ví dụ:
- 6 là số hoàn hảo vì trong khoảng từ 1 -> 5 sẽ có ba ước {1, 2, 3} và tổng của ba ước này bằng 6.
- 8 không phải là số hoàn hảo vì trong khoảng từ 1 - 7 sẽ có 3 ước {1, 2, 4} và tổng của ba ước này là 7 (khác 8)