編程序找出1000之內的所有完數,並按下面格式輸出其因子:
6 its factors are 1,2,3
答案解析:
因子:整數a除以整數b(b≠0) 的商正好是整數而沒有余數,我們就說b是a的因子。整數n除以m,結果是無余數的整數,那么我們稱m就是n的因子。 需要注意的是,唯有被除數,除數,商皆為整數,余數為零時,此關系才成立。因子是不包括自身的
舉一個例子:20 = 4 * 5,則4和5就是20的因子,也被稱之為因子
代碼示例:
#include<stdio.h>
int main()
{
int data, fator, sum; /* data表示要判斷的數,fator表示因子,sum表示因子之和*/
for (data = 2; data <= 1000; data++)
{
//1是所有整數的因子,所以因子之和從1開始
sum = 1;
for (fator = 2; fator <= data / 2; fator++)
{
/* 判斷data能否被fator整除,能的話fator即為因子 因子不包括自身 */
if (data % fator == 0)
{
sum += fator;
}
}
// 判斷此數是否等於因子之和 */
if (sum == data)
{
printf("%d its factors are 1, ", data);
for (fator = 2; fator <= data / 2; fator++)
{
if (data % fator == 0)
{
printf("%d, ", fator);
}
}
printf("\n");
}
}
return 0;
}