打印完数
描述
一个数如果恰好等于它的因子之和,这个数就成为“完数”。例如,6的因子为1、2、3,而6=1+2+3,因此6是“完数”。编程序打印出1000之内(包括1000)所有的完数,并按如下格式输出其所有因子:6 its factors are 1,2,3
输入
无输入
输出
输出1000以内所有的完数及其因子,每行一个完数。
代码
import java.util.*;
import java.math.*;
public class Main
{
public static void main(String[] args)
{
for(int i = 6; i <= 1000; i++)
{
Main a = new Main();
if(a.check(i))
{
int cnt = 0;
int[] tmp = new int[1010];
System.out.print(i+" its factors are ");
for(int j = 1; j < i; j++)
{
if(i%j==0)
tmp[++cnt] = j;
}
for(int j = 1; j < cnt; j++)
System.out.print(tmp[j]+",");
System.out.println(tmp[cnt]);
}
}
}
public boolean check(int n)
{
int sum = 1;
for(int i = 2; i < n; i++)
{
if(n%i==0)
sum += i;
}
if(sum==n)
return true;
return false;
}
}
转载请注明原文地址:https://blackberry.8miu.com/read-10948.html