题目描述
将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<bits/stdc++.h>
using namespace std;
int main()
{
int i,j,k,m,t,flag;
double a,b,c;
flag=0;
scanf("%lf%lf%lf",&a,&b,&c);
if(a<b&&b<c)
{
for(i=123;i<1000*a/c;i++)
{
int s[10]={0};
t=0;
j=b/a*i;
k=c/a*i;
s[i/100]++;
s[(i-i/100*100)/10]++;
s[i%10]++;
//拆a
s[j/100]++;
s[(j-j/100*100)/10]++;
s[j%10]++;
//拆b
s[k/100]++;
s[(k-k/100*100)/10]++;
s[k%10]++;
//拆c
for(m=1;m<9;m++)
{
if(s[m]!=s[m+1])
{
t=1;break;
}
}
if(t==0)
{
printf("%d %d %d\n",i,j,k);flag++;
}
}
if(flag==0)
printf("No!!!\n");
}
else
printf("No!!!\n");
return 0;
}