题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
例如:三个三位数192,384,576满足以上条件。
输入描述
本题无输入。
输出描述
输出所有符合要求的三个三位数,每一组占一行,数字之间由一个空格分隔。
每组中的三个数字按照从小到大输出,各组之间按照每组的第一个数从小到大输出。
用例输入 1
无
用例输出 1
192 384 576
* * *
...
* * *
(剩余部分不予展示)
代码如下:
#include<bits/stdc++.h>
using namespace std;
int zt[10]={};
int fen(int i){
while(i){
int x=i%10;
zt[x]++;
i/=10;
}
}
int main(){
for(int i=123;i<=398;i++){
int a=i*2;
int b=i*3;
fen(i);
fen(a);
fen(b);
int flag=0;
for(int i=1;i<=9;i++){
if(zt[i]!=1){
break;
}else{
flag++;
}
}
if(flag==9){
cout<<i<<" "<<a<<" "<<b<<endl;
}
for(int i=1;i<=9;i++){
zt[i]=0;
}
}
return 0;
}