首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-03-07 
求1000以内的完数,求1000以内完数,并按下列格式输出:6 its factors are 1,2,3C/C++ code#include stdio.h

求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;

热点排行