2686:打印完数
- 总时间限制:
- 1000ms
- 内存限制:
- 65536kB
- 描述
- 一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:
6 its factors are 1,2,3
- 输入
- 无输入
- 输出
- 输出1000以内所有的完数及其因子,每行一个完数。
#include<stdio.h> #include<stdlib.h> int main() { int i,j,k,c,sum; int a[1005]; for(i=6; i<=1000; i++) { c=0; sum=0; for(j=1; j<i; j++) { if(i%j == 0) { a[c++]= j; sum += j; } } if(sum == i) { printf("%d its factors are ",i); for(k=0; k<c-1; k++) { printf("%d,",a[k]); } printf("%d\n",a[c-1]); } } system("pause"); return 0; }