|
发表于 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))
复制代码
|
|