#include
#include
void main()
{
int c,k,n;long i,j,t,s[100];
printf("\n 寻求n节相亲数环,请输入n:");
scanf("%d",&n);
i=10;
//printf("wait");
while(1)
{
i++;s[0]=i;s[n]=i+1;
//if(i%100000==0)printf(".");
for(c=0,k=1;k<=n;k++)
{
s[k]=1;t=sqrt(s[k-1]);
for(j=2;j<=t;j++)
if(s[k-1]%j==0) s[k]=s[k]+j+s[k-1]/j;
if(s[k-1]==t*t) s[k]-=t;
for(j=0;j<=k-1;j++)
if(s[k]==s[j]) {c=1;break;}
if(c==1) break;
}
if(s[0]==s[n])
{
printf("\n %d环相亲数链:\n",n);
for(k=0;k<=n-1;k++) printf("%ld ",s[k]);
for(k=0;k<=n-1;k++)
{
printf("\n%ld: %d",s[k],1);
for(j=2;j<=s[k]/2;j++)
if(s[k]%j==0) printf("+%d",j);
printf("=%d",s[k+1]);
}
break;
}
}
}