/*题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
找出1000以内的所有完数
资料:
因子就是所有可以整除这个数的数,不包括这个数自身.
因数包括这个数本身而因子不包括,如 :
比如15的因子是1,3,5
而因数为1,3,5,15.
完数是指此数的所有因子之和等于此数,例如:28=1+2+4+7+14.
找出1000以内的所有完数
资料:
因子就是所有可以整除这个数的数,不包括这个数自身.
因数包括这个数本身而因子不包括,如 :
比如15的因子是1,3,5
而因数为1,3,5,15.
完数是指此数的所有因子之和等于此数,例如:28=1+2+4+7+14.
*/
public class PerfectNumber {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.找到这个数的所有因子
int n=6;
System.out.println(isPerfectNumber(n));
}
static boolean isPerfectNumber(int n)
{
boolean isperfectnumner=false;
int sum=0;
for(int i=1;i<n;i++)
{
if(n%i==0)
{
// System.out.println("i="+i);
sum+=i;
// System.out.println("sum="+sum);
}
}
if(sum==n)//如果相等
{
// System.out.println("n="+n);
// System.out.println("sum="+sum);
isperfectnumner=true;//是完数
}
return isperfectnumner;
}
}