如果一个数恰好等于它的因子之和,这个数就称为“完数”。如6=1+2+3,则6为完数,java编程找出1000以内的所有完数:
public class PerNumber {
public static void main(String[] args)
{
int s;
for(int i = 6;i<=1000;i++)
{
s = 1;
for(int j = 2;j<=i/2;j++)
if(i%j==0)
s+=j;
if(s==i) System.out.print(i+" ");
}
System.out.println();
}
}j<i/2时间复杂度较j<i会更小,因为如果i/2<j<i,i%j一定不可能为0.
本文介绍了一个Java程序,用于找出1000以内的所有完数。完数是指一个数恰好等于其所有因子之和的数,例如6=1+2+3。程序通过两层循环实现,外层遍历所有可能的完数,内层遍历并累加每个数的因子。
1118

被折叠的 条评论
为什么被折叠?



