#include<stdio.h>

int factorsum(int number);

int main() { int m, n, i; printf("Input m:"); scanf("%d", &m); printf("Input n:"); scanf("%d", &n); for(i = m; i <= n; i++) { if(factorsum(i) == i) { printf("%5d", i); } } return 0; }

int factorsum(int number) { int i, sum; if(number == 1) { return 1; } sum = 0; for(i = 1; i < number; i++) { if(number % i == 0) { sum += i; } } return sum; }

/* 要求:输入两个正整数m和n(m>=1,n<=1000),输出m~n之间的所有完数。完数就是因子和与它本身相等的数。要求定义并调用函数factorsum(number),它的功能是返回number的因子和。

例如:factorsum(12)的返回值是16。即16=1+2+3+4+6 */

C语言程序:寻找完数 | 完数算法实现

原文地址: https://www.cveoy.top/t/topic/pjJo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录