Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

Abundant Number (จำนวนอุดมสมบูรณ์) ในภาษา C

Abundant Number (Excessive Number) คือจำนวนที่น้อยกว่าผลรวมตัวหารที่แท้จริง (proper divisors) ของมัน

ตัวอย่าง

12: ตัวหาร = 1,2,3,4,6 → ผลรวม = 16 > 12 → Abundant

Abundance = 16 - 12 = 4

โค้ดตัวอย่าง

#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; // ลบตัวมันเองออก เพื่อให้ได้ proper divisors
    if (sum > n) printf("Abundant number");
    else printf("Not abundant number");
    return 0;
}