Số dồi dào (abundant/excessive): số nhỏ hơn tổng các ước thực sự của nó.
Ví dụ
12: ước 1,2,3,4,6 → tổng = 16 > 12 → dồi dào (abundance = 4)
Chương trình
#include <stdio.h>
#include <math.h>
int main() {
int n = 56, sum = 0;
for (int i = 1; i <= sqrt(n); i++) {
if (n % i == 0) {
if (n / i == i) sum += i;
else sum += i + n / i;
}
}
sum -= n; // bỏ chính n
if (sum > n) printf("%d la so doi dao (abundance = %d)", n, sum - n);
else printf("%d khong phai so doi dao", n);
return 0;
}
Lưu ý: Code gốc có lỗi logic (thiếu else), đã sửa.