路过大虾帮帮菜鸟
某些分数的分子和分母都是二位正整数的真分数具有下列特点:如果将该分数的分子的两位数字相加作分子,而将该分数的分母的两位数字相加作分母,得到的新分子跟原分子相等。例如,63/84=(6+3)/(8+4)。试求所有具有这种特点的真分子(非约简真分数)的分子与分母之和的和。 10134没点思绪!!!!!!!!!!!!!





程序代码:int sum=0,i,j,m,n,s=0,a[4],x,y,p,q;
for(i=1;i<1000;i++)
for(j=1+i;j<1000;j++)
{a[0]=0;a[1]=0;s=0;p=0;q=0;
for(m=(i>j?i:j);1;m--)
if(i%m==0&&j%m==0)
break;
a[0]=i/m;a[1]=j/m;x=i;y=j;
while(x!=0)
{p+=x%10;x=x/10;}
while(y!=0)
{q+=y%10;y=y/10;}
for(m=(p>q?p:q);1;m--)
if(p%m==0&&q%m==0)
break;
a[2]=p/m;a[3]=q/m;
if(a[0]==a[2]&&a[1]==a[3])
{sum=sum+1;printf("%5d%5d%5d%5d\n",i,j,p,q);}
}
printf("%d",sum);
程序代码:int sum=0,i,j,m,n,s=0,a[4],x,y,p,q;
for(i=10;i<100;i++)
for(j=1+i;j<100;j++)
{a[0]=0;a[1]=0;s=0;p=0;q=0;
for(m=(i>j?i:j);1;m--)
if(i%m==0&&j%m==0)
break;
a[0]=i/m;a[1]=j/m;x=i;y=j;
while(x!=0)
{p+=x%10;x=x/10;}
while(y!=0)
{q+=y%10;y=y/10;}
for(m=(p>q?p:q);1;m--)
if(p%m==0&&q%m==0)
break;
a[2]=p/m;a[3]=q/m;
if(a[0]==a[2]&&a[1]==a[3])
{sum=sum+i+j;printf("%5d%5d%5d%5d\n",i,j,p,q);}
}
printf("%d",sum);