|  | 
 
 发表于 2023-3-20 08:46:39
|
显示全部楼层 
| C语言: 复制代码#include <stdio.h>
int is_perfect_number(int n) {
    int sum = 0;
    for (int i = 1; i < n; i++) {
        if (n % i == 0) {
            sum += i;
        }
    }
    return sum == n;
}
int main() {
    int N;
    printf("请输入要判断的整数个数:");
    scanf("%d", &N);
    for (int i = 0; i < N; i++) {
        int num;
        printf("请输入一个整数:");
        scanf("%d", &num);
        if (is_perfect_number(num)) {
            printf("%d 是完全数\n", num);
        } else {
            printf("%d 不是完全数\n", num);
        }
    }
    return 0;
}
 Python实现:
 复制代码def is_perfect_number(n):
    factors = [i for i in range(1, n) if n % i == 0]
    return sum(factors) == n
N = int(input("请输入要判断的整数个数:"))
for i in range(N):
    num = int(input("请输入一个整数:"))
    if is_perfect_number(num):
        print("{} 是完全数".format(num))
    else:
        print("{} 不是完全数".format(num))
 | 
 |