题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”。
//感谢黄小U饮品完善题意
输入格式
三个数,A B C。
输出格式
若干行,每行3个数字。按照每行第一个数字升序排列。
输入输出样例
输入 #1 复制
1 2 3
输出 #1 复制
192 384 576
219 438 657
273 546 819
327 654 981
说明/提示
保证A<B<C
代码如下:
#include
int main()
{
int a[10],b1,b2,b3,c1,c2,c3,d1,d2,d3,ans=0,i,j,k;
scanf("%d%d%d",&c1,&c2,&c3);
for(i=123;i<=1000/c3;i++)
{
b1=i*c1;
b2=i*c2;
b3=i*c3;
d1=b1;
d2=b2;
d3=b3;
for(j=1;j<=3;j++)
{
a[b1%10]++;
b1/=10;
}
for(j=1;j<=3;j++)
{
a[b2%10]++;
b2/=10;
}
for(j=1;j<=3;j++)
{
a[b3%10]++;
b3/=10;
}
for(j=1;j<=9;j++)
if(a[j]!=1)
{
k=1;
break;
}
for(j=1;j<=9;j++)
a[j]=0;
if(k==0)
{
printf("%d %d %d\n",d1,d2,d3);
ans++;
}
else k=0;
}
if(ans==0)
printf("NO!!");
return 0;
}