帮忙改进下一道习题
题目如下:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1,2,3
我编了一个
程序代码:
#include "stdio.h" void main() { int a,i,j; for(i=1;i<=1000;i++) { for(j=1,a=0;j<i;j++) { if(i%j==0)a=a+j; } if(a==i) { printf("%d its factors are ",i); for(j=1;j<i;j++) { if(i%j==0)printf("%d,",j); } printf("\b\n"); } } }答案是出来了,但是我感觉运算重复了
望大家指点下,改进下
谢谢