读书人

请问一个简单但较怪的有关问题

发布时间: 2013-04-09 16:45:09 作者: rapoo

请教一个简单但较怪的问题。
#include <stdio.h>

int main()

{
int i=2,j=1,sum;
for(;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
if((i%j)==0)
sum=sum+j;
if(i==sum)
{
printf("%d its factors are");
for(j=1;j<i;j++)
if((i%j)==0)
printf(" %d",j);
printf("\n");
}
}
return 0;
}

结果部分数据较怪,不知是否与电脑有关,大家尝试下。

谢谢。
[解决办法]
你想要计算什么 是不是sum=0;这有问题
[解决办法]
此处


printf("%d its factors are",i);

楼主什么问题。。。
[解决办法]
较怪是什么意思啊?让我们猜啊,请把问题说清楚
[解决办法]
楼主是不是相求1000以内的完全数,完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。
下面是对你的代码的简单的修改,参考一下吧~

#include <stdio.h>

int main()
{
int i=2,j=1,sum, k;
for(;i<=1000;i++)
{
sum=0;
for(j=1;j<i;j++)
if((i%j)==0)
sum=sum+j;
if(i==sum)
{
printf("%d its factors are", i);
for(k = 1;k < i;k++)
if((i%k)==0)
printf(" %d",k);
printf("\n");
}
}
return 0;
}

读书人网 >C语言

热点推荐