输入一个路数字列,以及基准,要求计算并输出该序列中基准以上的完美数之和。完美数是指一 个数的所有真约数之和等于它白身。比如:6和28.6的真约数有1、2、3,且它们之和等于6;28的真约数有1、2、4、 7、14.且它们之和等于28。 [输入格式】第一行先给出序列长度n (n<=20)。随后是n个整数仁=2);第二行包含一个整数,为基准。 【输出格式】一个整数,表示揄入的整数序列中基准以上的完美数之和。C语言编程
时间: 2024-03-09 19:46:19 浏览: 50
FibonnacciCalculator:这是一个将斐波那契数列计算为第n个数字的python程序
以下是 C 语言实现:
```c
#include <stdio.h>
// 判断一个数是否为完美数
int isPerfect(int n) {
int sum = 0;
for (int i = 1; i <= n / 2; i++) {
if (n % i == 0) {
sum += i;
}
}
return sum == n;
}
int main() {
int n, base, num, sum = 0;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &num);
if (num > base && isPerfect(num)) {
sum += num;
}
}
scanf("%d", &base);
printf("%d\n", sum);
return 0;
}
```
代码逻辑比较简单,首先读入序列长度 `n`,然后遍历读入的整数序列,如果该数大于基准并且是完美数,则将其加入总和中。最后读入基准,并输出完美数的总和。完美数的判断通过计算真约数之和,如果等于该数,则说明该数为完美数。
阅读全文