输出 m 到 n之间的所有完数,并输出其因子

输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:
输入两个正整数 m 和 n(1<=m, n<=1000),输出 m 到 n之间的所有完数,并输出其因子。一个数如恰好等于它的因子之和,这个数称为完数,例如,6=1+2+3,其中1、2、3为因子,6为因子和。
输出使用以下语句:
printf("%d = 1", number);
printf(" + %d", factor);
printf("\n");

main()
{int number,i,j,k,sum,a[1000],n,m;repeat
scanf("%d",repeat)
if(repeat>0&&repeat<10)
for(j=1;j<=repeat;j++)
{
scanf("%d%d",&m,&n);
for(number=n;number<m;number++)

{for(i=1;i<number;i++)
if(number%i==0)
{a[k]=i;k++;}

for(i=0;i<k;i++)
sum=sum+a[i];
if(sum==j)
{
printf("%d=1",number)
for(i=1;i<k;i++)
printf("+%d",a[i]);
printf("\n");}
}
}
}
应该思路是这样了 我很少打程序 今天无聊来打下 看看就行 错了别怨我
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-03-30
b
相似回答
大家正在搜