1. 程式人生 > >程式設計作業50頁4題 編寫應用程式求1000 之內的所有完數

程式設計作業50頁4題 編寫應用程式求1000 之內的所有完數

一個數如果恰好等於他的因子之和,這個數為完數,又稱完全數(Perfect number),又稱完美數或完備數。

例如:第一個完全數是6,它有約數1、2、3、6,除去它本身6外,其餘3個數相加,1+2+3=6。第二個完全數是28,它有約數1、2、4、7、14、28,除去它本身28外,其餘5個數相加,1+2+4+7+14=28。第三個完全數是496,有約數1、2、4、8、16、31、62、124、248、496,除去其本身496外,其餘9個數相加,1+2+4+8+16+31+62+124+248=496。後面的完全數還有8128、33550336等等。

程式碼如下

public class text{  
    public static void main(String args[]){  
  	int i,j,sum;
	System.out.print("1000以內的完全數有:");
	for(i=1;i<=1000;i++){
		for(j=1,sum=0;j<=i/2;j++){
			if(i%j==0)sum=sum+j;
		}
		if(sum==i)System.out.print(i+" ");
	}


}  
}
結果如下