3. 三连击

题目描述

将1~9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数

输入输出格式

输入格式

木有输入

输出格式

若干行,每行3个数字。按照每行第一个数字升序排列

输入输出样例

输出样例

192 384 576


(输出被和谐了)

题解

枚举大法是真滴好!枚举大法是真滴妙!
枚举最小数,框出眼下的较合适上下限,然后对应找到三个数以及所用的所有数字,这些数字排序后当1~9九个数字依次排列时才算合法,输出结果即可。

代码

#include<bits/stdc++.h>
using namespace std;
int ans,a[88];
int main(){
    
    
	for(int i=123;i<=329;i++){
    
    
		a[1]=i%10,a[2]=i%100/10,a[3]=i/100;
		a[4]=2*i%10,a[5]=2*i%100/10,a[6]=2*i/100;
		a[7]=3*i%10,a[8]=3*i%100/10,a[9]=3*i/100;
		sort(a+1,a+10),ans=1;
		for(int j=1;j<=9;j++)if(a[j]!=j)ans=0;
		if(ans) printf("%d %d %d\n",i,i*2,i*3);
	}
    return 0;
}

PS(正确输出结果)

192 384 576
219 438 657
273 546 819
327 654 981

写在最后,供参考

猜你喜欢

转载自blog.csdn.net/JPY_Ponny/article/details/114155792