题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。 例如6=1+2+3。编程找出1000以内的所有完数。
#include <stdio.h> void main() { int x; //从2到1000的自然数 int i; int sum=0; for(x=2;x<1000;x++) { for(i=1;i<x;i++) { if(x%i==0) //找出x的因子,是因子就累加 { sum+=i; } } if(x==sum) //因数和与这个自然数x是否相等,是则输出 { printf("%d/n",x); } sum=0; //将因数和复原到0,以便下次使用 } }