酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

c语言编写程序,找出任意两正整数m和n之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如:6=1+2+3,其中1、2、3为6的因子。 输入格式: 输入在一行中给出2个正整数m和n(1<m≤n≤10000),中间以空格分隔。 输出格式: 逐行输出给定范围内每个完数的因子累加形式的分解式,每个完数占一行,格式为“完数 = 因子1 + 因子2 + ... + 因子k”,其中完数和因子均按递增顺序给出。若区间内没有完数,则输出“none”。

#include <stdio.h> int main() { int m, n; scanf("%d %d", &m, &n); int i, j, sum, factor; for (i = m; i <= n; i++) { factor = 0; sum = 0; for (j = 1; j < i; j++) { if (i % j == 0) { sum += j; factor++; } } if (sum == i) { printf("%d = 1", i); for (j = 2; j < factor; j++) { if (i % j == 0) { printf(" + %d", j); } } printf("\n"); } } if (i == m) { printf("none\n"); } return 0; } [2024-11-13 15:03:19 | AI写代码神器 | 447点数解答]

相关提问