溫馨提示×

c語言怎么判斷是否為完數(shù)

小億
129
2024-05-16 18:28:18
欄目: 編程語言

在數(shù)論中,完數(shù)是指一個(gè)數(shù)等于它的所有因子之和。例如,6是一個(gè)完數(shù),因?yàn)樗囊蜃訛?、2、3,而1+2+3=6。

判斷一個(gè)數(shù)是否為完數(shù)的方法如下:

  1. 找出這個(gè)數(shù)的所有因子。
  2. 計(jì)算這些因子的和。
  3. 判斷這個(gè)和是否等于這個(gè)數(shù)本身。

下面是一個(gè)用C語言編寫的判斷一個(gè)數(shù)是否為完數(shù)的程序示例:

#include <stdio.h>

int isPerfect(int num) {
    int sum = 0;
    
    // 找出所有因子并計(jì)算它們的和
    for (int i = 1; i < num; i++) {
        if (num % i == 0) {
            sum += i;
        }
    }
    
    // 判斷和是否等于這個(gè)數(shù)本身
    if (sum == num) {
        return 1; // 是完數(shù)
    } else {
        return 0; // 不是完數(shù)
    }
}

int main() {
    int num;
    
    printf("請輸入一個(gè)整數(shù):");
    scanf("%d", &num);
    
    if (isPerfect(num)) {
        printf("%d 是一個(gè)完數(shù)。\n", num);
    } else {
        printf("%d 不是一個(gè)完數(shù)。\n", num);
    }
    
    return 0;
}

在這個(gè)程序中,isPerfect函數(shù)用于判斷一個(gè)數(shù)是否為完數(shù),main函數(shù)用于輸入一個(gè)整數(shù)并輸出判斷結(jié)果。您可以將您想要判斷的數(shù)輸入到程序中進(jìn)行測試。

0