请教一个简单但较怪的问题。
#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);
#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;
}