作者 唐艳琴
单位 中国人民解放军陆军工程大学
一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如:6的因子为1,2,3,而6=1+2+3,因此6是完数。输入整数n,编程找出2-n(包括n)之内的所有完数,并按下列格式输出其因子:6 its factors are 1 2 3。
输入格式:
输入整数n(n在2-10000之间)
输出格式:
每行输出一个完数,格式如下:因子间有一个空格隔开,每行结束后也有一空格。
6 its factors are 1 2 3
......
提示:
输入样例:
10
输出样例:
6 its factors are 1 2 3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
栈限制
8192 KB
#include <stdio.h>
int main(){
// num表示因子数量
int num=0;
// f表示因子数组
int f[500];
int n;
scanf("%d",&n);
for (int i = 2; i <= n; ++i) {
int index = 0;
int temp = 0;
for (int j = 1; j <= i/2; ++j) {
if(i%j==0){
f[index] = j;
temp += j;
num++;
index++;
}
}
if(temp == i){
printf("%d its factors are ",i);
for (int j = 0; j < num; ++j) {
printf("%d ",f[j]);
}
printf("\n");
}
num = 0;
}
return 0;
}