题目:从1-9中拿出九个数,让它们组成三个三位数(x,y,z),之间的比值关系为1:2:3(x,2x,3x),问x能取到哪些值?解析:建一数组,把每个三位数的每一位都写到这个数组中,只有数组中的值都为1,则说明这个三位数存在,否则认为这个三位数不存在。
#include<stdio.h>
int main()
{
int a[10],x,i,j,k,flag;
for(x=123;x<=333;x++)
{
for(k=0;k<10;k++)
a[k]=0;
for(i=1;i<=3;i++)
{
int y=x*i;
for(j=1;j<=3;j++)
{
a[y%10]++;
y=y/10;
}
}
flag=1;
for(k=1;k<10;k++)
{
if(a[k]!=1)
flag=0;
}
if(flag==1)
printf("输出这个数是%d\n",x);
}
return 0;
}
输出的结果为:输出这个数是192
输出这个数是219
输出这个数是273
输出这个数是327