如果一個數恰好等於它的因子之和,則稱該數為“完全數”。
*問題分析與算法設計
根據完全數的定義,先計算所選取的整數a(a的取值1~1000)的因子,將各因子累加於m,若m等於a,則可確認a為完全數。
*程序說明與注釋
#include<stdio.h>
int main()
{
int a,i,m;
printf("There are following perfect numbers smaller than 1000:\n");
for(a=1;a<1000;a++) /*循環控制選取1~1000中的各數進行判斷*/
{
for(m=0,i=1;i<=a/2;i++) /*計算a的因子,並將各因子之和m=a,則a是完全數輸出*/
if(!(a%i))m+=i;
if(m==a)
printf("%4d ",a);
}
printf("\n");
}
*運行結果
TThere are following perfect numbers smaller than 1000:
6 28 496
*