编程求1000以内的所有“完数”。所谓“完数”是指一个数恰好等于它的因子之和。例如,6是完数,因为6=1+2+3
#include"stdio.h"
int main()
{
int i, j,sum=0;
for (i = 1; i <= 1000; i++)
{
sum = 0;
for (j = 1; j <= i / 2; j++)
{
if (i%j == 0)
{
sum = sum + j;
}
}
if (sum == i)
{
printf("%d的因子:", i);
for (j = 1; j <= i / 2; j++)
{
if (i%j == 0)
{
printf("%d ", j);
}
}
printf("\n");
}
}
return 0;
}
用数组求完数
#include"stdio.h"
int main()
{
int i, j;
int arr[50] = { 0 };
for (i = 1; i <= 1000; i++)
{
int k = 0;
int sum = 0;
for (j = 1; j <= i/2; j++)
{
if (i%j == 0)
{
arr[k] = j;
k++;
}
}
for (j = 0; j < k; j++)
{
sum = arr[j] + sum;
}
if (sum == i)
{
printf("完数%d的因子:", i);
for (j = 0; j < k; j++)
{
printf("%d ", arr[j]);
}
printf("\n");
}
}
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)