读书人

求1000以内的完数,解决办法

发布时间: 2012-03-07 09:13:51 作者: rapoo

求1000以内的完数,
求1000以内完数,并按下列格式输出:6 its factors are 1,2,3

C/C++ code
#include <stdio.h>void main(){    int n=1000,i,j,a,b=0;    for(j=2;j<=n;j++)    {        for(i=1;i<j;i++)        {            a=j%i;            if(a==0) b=b+i;        }        if(b==j)        {            printf("%d its factors are ",j);            for(i=1;i<j;i++)            {                a=n%i;                if(a==0) printf("%d ",i);            }        }    }}

为什么没有结果输出?哪里错了呢。。。求指导

[解决办法]
改好了
C/C++ code
#include <stdio.h>void main(){    int n=1000,i,j,a;    for(j=2;j<=n;j++)    {        int b = 0;    //定义局部变量        for(i=1;i<j;i++)        {            a=j%i;            if(a==0)                b=b+i;        }        if(b==j)        {            printf("%d its factors are ",j);            for(i=1;i<j;i++)            {                a=j%i;    //这里是j不是n                if(a==0)                     printf("%d ",i);                            }            printf("\n");        }    }}
[解决办法]
for(j=2;j<=n;j++)
{
后面加上 b=0;

读书人网 >C++

热点推荐