问题描述:
把1,2,3,4,5,6,7,8,9,组成三个三位数(每个数只能用一次),第二个数是第一个数的2倍,第三个数是第一个数的3倍,这三个三位数各是多少?答案可能有很多组,请按第一个数的升序顺序输出每组的三个三位数。
输入:
无
输出:
输出所有满足条件的三位数组合,按第一个数的升序顺序输出。
样例输入:
无
样例输出:
192 384 576
.........
参考代码:
#include<stdio.h>
int fanc(int x,int y,int z)
{
int a,arr[10]={0};
while(x)
{
a=x%10;
arr[a]++;
x/=10;
}
while(y)
{
a=y%10;
arr[a]++;
y/=10;
}
while(z)
{
a=z%10;
arr[a]++;
z/=10;
}
for(int i=1;i<10;i++)
if(arr[i]!=1)
return 0;
return 1;
}
int main()
{
int x,y,z;
for(x=100;x<=333;x++)
{
y=x*2;
z=x*3;
if(fanc(x,y,z))
printf("%d %d %d\n",x,y,z);
}
return 0;
}