题目:编一程序输出在6~1000的所有合数,合数是指1个数等于其诸因子之和的数。例如,6=1+2+3,28=1+2+4+7+14,则6、28就是合数。
int main(void)
{
int i, k, sum;
printf("6~1000之间的所有合数:\n");
for (i = 6; i <= 1000; i++) //外循环控制被判断的数的范围为6-1000
{
sum = 0;
for (k = 1; k < i; k++) //内循环求某个数主的诸因子之和
if (i % k == 0)
sum += k;
if (i == sum) //判断数i是否与其诸因子之和sum相等,如果相等,则是合数
printf("%d\t", i);
}
return 0;
}