public?static?void?main(String[]?args)?{
int?i,j,sum;//sum用來存放因子之和
for(i=1;i<1000;i++)//對1到1000以內的數依次嘗試
{
sum?=?0;?//給sum賦值,同時也是對上壹次的值清空
for(j=1;j<=i/2;j++)//查找因子
{
if(i%j==0)?//?如果是因子
{
sum+=j;//把當前的因子累加到sum中
}
}
if(sum==i)//判斷是不是完數,即因子之和等於自身
{
System.out.print(i+"?its?factors?are:");//是完數,輸出
for(j=1;j<=i/2;j++)?//再次找出這個完數的因子
{
if(i%j==0)//輸出各個因子
System.out.print(j+",?");
}
System.out.println();
}
}
}
} 這些題百度裏面都是找得到的