/*
* Copyright (c) 2014, 烟台大学计算机学院
* All rights reserved.
* 文件名称:test.cpp
* 作 者:李晓凯
* 完成日期:2015年 1 月 5 日
* 版 本 号:v1.0
*
* 问题描述:一个数如果恰好等于它的因子之和,这个数就称为"完数"。 例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。 编程序找出N之内的所有完数,并按下面格式输出其因子:
6 its factors are 1 2 3
* 输入描述:输入一个数
* 程序输出:按要求输出
*/
#include <iostream>
using namespace std;
int main()
{
int N,i,sum,j;
cin>>N;
for(i=2; i<=N; i++)
{
sum=0;
for(j=1; j<=i/2; j++)
{
if(i%j==0)
{
sum+=j;
}
}
if(sum==i)
{
cout<<i<<" its factors are ";
for(j=1; j<=i/2; j++)
if(i%j==0)
cout<<j<<" ";
cout<<endl;
}
}
return 0;
}