三连击
题目描述
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
输入输出格式
输入格式:
木有输入
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
输入输出样例
输入样例#1:
输出样例#1:
192 384 576 * * * ... * * * (输出被和谐了)
三重循环暴力枚举数字即可。
其实也可以枚举第一个数字,按照比例算其他两个数字。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 bool bo; 6 int main(){ 7 int a[10]={0}; 8 int i,j,k=0; 9 bool bo;bo=true; 10 for(i=123;i<=333;i++){ 11 a[1]=i/100; 12 a[2]=i/10%10; 13 a[3]=i%10; 14 a[4]=i*2/100; 15 a[5]=i*2/10%10; 16 a[6]=i*2%10; 17 a[7]=i*3/100; 18 a[8]=i*3/10%10; 19 a[9]=i*3%10; 20 bo=true; 21 for(j=1;j<=8;j++) 22 for(k=j+1;k<=9;k++) 23 if(a[j]==a[k]||a[j]==0||a[k]==0) bo=false; 24 if(bo==true){ 25 cout<<a[1]<<a[2]<<a[3]<<" "<<a[4]<<a[5]<<a[6]<<" "<<a[7]<<a[8]<<a[9]<<endl; 26 } 27 //for(j=1;j<=9;j++) cout<<a[j]; //test 28 29 30 } 31 return 0; 32 }