我在 java 中尝试了这个程序,以获得最多 1000 个整数的有界常量输入。没有得到预期的输出:(
package perfect.numbers;
import java.util.ArrayList;
public class PerfectNumbers {
public static void main(String[] args) {
long num=1000; int sum = 0;
ArrayList<Integer> perfectList = new ArrayList<>();
ArrayList<Integer> factorList = new ArrayList<>();
for(int i=1; i<num; i++)
{
for(int j=1; j<i/2; j++)
{
if(i%j==0)
{
factorList.add(j);
}
for(int h=0; h<factorList.size(); h++)
sum=sum+factorList.get(h);
if(sum==i)
perfectList.add(i);
sum=0;
}
}
System.out.println("The Perfect numbers upto 1000 are : ");
for(Integer item : perfectList)
{
System.out.print(item + "/t");
}
}
}