三连击
描述
将1,2,3, ... , 9共9个数分成3组,分别组成3个三位数, 且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3三位数。
输入
无
输出
若干行,每行3个数字。按照每行第1个数字升序排列。
样例输入
无
样例输出
192 384 576
219 438 657
273 546 819
327 654 981
#include <iostream>
#include <stdio.h>
using namespace std;
void insert_arr(int arr[],int x,int c){
int y=x;
for (int i=0;i<3;i++){
arr[c+i]=y%10;
y=y/10;
}
}
bool panduan(int arr[]){
for (int i=0;i<9;i++){
if (arr[i]==0)
return false;
else
for (int j=i+1;j<9;j++){
if (arr[i]==arr[j])
return false;
}
}
return true;
}
int main(){
int a[9]={0};
for (int i=123;i<=329;i++){
int x,x2,x3,c=0;
x=i;
insert_arr(a,x,c);
c+=3;
insert_arr(a,2*x,c);
c+=3;
insert_arr(a,3*x,c);
if (panduan(a))
cout<<x<<" "<<2*x<<" "<<3*x<<endl;
}
return 0;
}