相亲对数 怎么什么都没输出

来源:百度知道 编辑:UC知道 时间:2024/06/22 17:47:34
#include<stdio.h>
main()
{
int i,j,m,n,sum1,sum2;
for(i=1;i<=100;i++)
{
sum1=0;
for(m=1;m<=i/2;m++)
if(i%m==0)
sum1=sum1+m;
for(j=1;j<=100;j++)
{
sum2=0;
for(n=1;n<=j/2;n++)
if(j%n==0)
sum2=sum2+n;
}
if(sum1==j&&sum2==i)
printf("%d,%d",i,j);
}
}

//什么叫相亲对数,说明你要干什么
//这是不是你想要的?
//找一数i,是的他的所有因子之和为j且j的所有因子之和为i?
//如果是这样的话,你的算法是不行的。
//j最后是101的,你可以跟踪一下
//下边算法可以实现上述功能
#include<stdio.h>
int main()
{
int i,m,sum1;
int a[101];
for(i=1;i<=100;i++)
{
sum1=0;
for(m=1;m<=i/2;m++)
if(i%m==0)
sum1=sum1+m;
a[i]=sum1;
}
for(i=1;i<=100;i++)
if(a[a[i]]==i)
printf("%d %d\n",i,a[i]);

return 1;
}