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

โปรแกรม C ตรวจสอบว่าเลขเป็นจำนวนอุดม (Abundant/Friendly Pair) หรือไม่


ในโปรแกรมนี้ เราพยายามตรวจสอบว่าตัวเลข 2 จำนวนที่ผู้ใช้ป้อนผ่านคอนโซล เป็นคู่ที่เป็นมิตร (Friendly Pair) หรือไม่

ตัวอย่าง

หากผลรวมตัวหารทั้งหมดของ number1 เท่ากับ number1 และผลรวมตัวหารทั้งหมดของ number2 เท่ากับ number2 แล้ว เราจะบอกว่าตัวเลขทั้งสองเป็นจำนวนอุดม (Abundant Numbers)

ตรรกะที่ใช้ หาคู่ที่เป็นมิตร ดังนี้:

สำหรับผลรวมตัวหารทั้งหมดของ number 1:

for(i = 1; i < number1; i++) {
    if(number1 % i == 0) {
        result1 = result1 + i;
    }
}

สำหรับผลรวมตัวหารทั้งหมดของ number 2:

for(i = 1; i < number2; i++) {
    if(number2 % i == 0) {
        result2 = result2 + i;
    }
}

สำหรับคู่ที่เป็นมิตร:

if(result1 == number1 && result2 == number2)

หากเงื่อนไขนี้เป็นจริง แล้วเป็นคู่อุดม มิฉะนั้นไม่ใช่

ตัวอย่าง

โปรแกรม C หาว่าตัวเลขที่กำหนดเป็นคู่อุดมหรือไม่:

#include <stdio.h>

int main() {
    int number1, number2, i;
    printf("Enter two numbers:");
    scanf("%d%d", &number1, &number2);
    
    int result1 = 0, result2 = 0;
    
    for(i = 1; i < number1; i++) {
        if(number1 % i == 0) {
            result1 = result1 + i;
        }
    }
    
    for(i = 1; i < number2; i++) {
        if(number2 % i == 0) {
            result2 = result2 + i;
        }
    }
    
    if(result1 == number1 && result2 == number2)
        printf("Abundant Pairs");
    else
        printf("Not abundant Pairs");
    
    return 0;
}

ผลลัพธ์

ผลลัพธ์ด้านล่าง:

Enter two numbers: 6 28
Abundant Pairs