c语言完数问题_C语言求完数问题
c语言编程:找出200以内所有完数,并输出其因子 输入输出示例:
1=2
6=1+2+3
28=1+2+4+7+14
需要更正的程序:
#include <stdio.h>
int main(void)
{
int i, j, s = 1;
for(i = 1; i <= 200; i++) {
for(j = 2; j <= i/2; j++)
if(i % j == 0
s = s + j;
if(s == i){
printf("%d=1", i);
for(j = 2; j <= i/2; j++)
if(i % j == 0) printf("+%d",j);
printf("\n");
}
}
return 0;
}
最佳答案
改好的参考:
#include <stdio.h>
int main(void) //完数
{
int i, j, s = 1;
for(i = 1; i <= 200; i++)
{
s=1; //s的初始化应该放这里
for(j = 2; j <= i / 2; j++)
if(i % j == 0) //少了个)
s = s + j;
if(s == i)
{
printf("%d=1", i);
for(j = 2; j <= i / 2; j++)
if(i % j == 0) printf("+%d", j);
printf("\n");
}
}
return 0;
}
其他回答
暂无其它回答!