求解编程题目

来源:百度知道 编辑:UC知道 时间:2024/05/21 10:02:38
三级网络的3*six=2*nine的题目,我这么编就只能出来大于900四组结果,看了半天不知道哪儿写错了,为何只能出900的

#include "stdio.h"
main()
{
int i,j,k,l,m,n,cnt;
int a[20],b[20];
for(j=1000;j<1500;j++)
{
l=j%1000/100;
m=j/1000;
n=j%100/10;
for(i=300;i<999;i++)
{
k=i%100/10;
if(((3*i==2*j)&&(k==l))&&(m==n))
{
cnt++;
a[cnt]=i;
b[cnt]=j;
}
}
}
printf("%d,%d",a[1],b[1]);
getch();
}

这样写多简单。

int s,i,x,n,e,six,nine;

for(s=1;s<10;s++)

for(i=0;i<10;i++)

for(x=0;x<10;x++)

for(n=1;n<10;n++)

for(e=0;e<10;e++)

{ six=s*100+i*10+x;

nine=n*1000+i*100+n*10+e;

if(3*six==2*nine)

{ cnt++;a[cnt]=six;b[cnt]=nine;}

}

结果就是四个:
940,1410
942,1413
944,1416
946,1419
满足条件的个数=4