![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
用C++编写程序~~~:;求出1000以内的所有"完数".
一个数恰好等于他约数的和则称为"完数"例如:6=1+2+3,不需要输入输出格式为"6=1+2+3...
一个数恰好等于他约数的和则称为"完数" 例如:6=1+2+3, 不需要输入 输出格式为 "6=1+2+3
展开
2个回答
展开全部
#include <stdio.h>
int yueshu[16];
//int result[1000];
int aaa(int s);
int aaa(int s)
{
int i, j, sum = 1, k = 0, m = 0;
for(i = 2; i < s; i++)
{
if(s%i == 0)
{
yueshu[k++] = i;
sum += i;
}
}
if(sum == s)
{
printf("OK: %d = 1+",s);
for(j = 0; j < k; j++)
{
printf("%d",yueshu[j]);
if(j+1 < k)
printf("+");
}
printf("\n");
//result[m++] = s;
}
return 0;
}
int main( void )
{
int ii;
for(ii = 3; ii < 1001; ii++)
{
aaa(ii);
}
return 0;
}
VC编译通过,希望对你有帮助!
int yueshu[16];
//int result[1000];
int aaa(int s);
int aaa(int s)
{
int i, j, sum = 1, k = 0, m = 0;
for(i = 2; i < s; i++)
{
if(s%i == 0)
{
yueshu[k++] = i;
sum += i;
}
}
if(sum == s)
{
printf("OK: %d = 1+",s);
for(j = 0; j < k; j++)
{
printf("%d",yueshu[j]);
if(j+1 < k)
printf("+");
}
printf("\n");
//result[m++] = s;
}
return 0;
}
int main( void )
{
int ii;
for(ii = 3; ii < 1001; ii++)
{
aaa(ii);
}
return 0;
}
VC编译通过,希望对你有帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询