#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
/*
题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6 = 1+2+3.编程
找出1000以内的所有完数。
*/
int main(void){
int num = 1000, i = 0, j = 0, k = 0;
int sum = 0;
int div[256] = { 0 };
for (i = 2; i <= num; i++)
{
sum = div[0] = 1;
k = 0; //存取完一个数后重新开始
for (j = 2; j <= (i / 2); j++) //i/2是因为有1
{
if (i % j == 0) //被整除
{
div[++k] = j;
sum += j;
}
}
if (i == sum)
{
printf("%d = %d", sum, div[0]);
for (j = 1; j <= k; j++)
{
printf("+ %d", div[j]);
}
printf("\n");
}
}
return 0;
}
【程序19】 题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6 = 1+2+3.编程 找出1000以内的所有完数。
猜你喜欢
转载自blog.csdn.net/weixin_43328180/article/details/86292017
今日推荐
周排行