一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6 = 1 + 2 + 3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其中因子:
6 its factors are 1,2,3
C语言代码:
# include <stdio.h>int main(){int x, i, s;//第8行-第17行 用来判断0~1000的数x是否为 “合数”for(x=2; x<1000; x++) //第8行{s = 0;for(i=1; i<x; i++){if((x%i) == 0){s = s + i; //s用来计算完数个因子之和}}//第17行if(s == x){printf("%d its factors are ",x);for(i=1; i<x; i++){if((x%i) == 0){printf("%d ",i); //输出合数的因子}}printf("\n");}}return 0;}
运行结果: