用1,2,3,...,9组成3个三位数 abc , def 和 ghi ,每个数字恰好使用一次,要求 abc : def : ghi = 1:2:3。按照" abc def ghi "的格式输出所有解,每行一个解。提示:不必太动脑筋。
题解:
#include<iostream>
using namespace std;
int main()
{
int x,y,z;
int a[10];
for(x=123;x<329;x++)
{
for(int j=1;j<10;j++)
a[j]=0;
y=2*x;
z=3*x;
a[x/100]=a[x/10%10]=a[x%10]=1; //令a[出现的数字]=1;
a[y/100]=a[y/10%10]=a[y%10]=1;
a[z/100]=a[z/10%10]=a[z%10]=1;
int s=0;
for(int i=1;i<10;i++) //如果和为9,表明每个数字都出现一次;
s+=a[i];
if(s==9) cout<<x<<' '<<y<<' '<<z<<endl;
}
return 0;
}