洛谷 P1008三连击题解--zhengjun

题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

\(1,2, \cdots ,9\)\(9\)个数分成\(3\)组,分别组成\(3\)个三位数,且使这\(3\)个三位数构成\(1:2:3\)的比例,试求出所有满足条件的\(3\)个三位数。

输入格式

木有输入

输出格式

若干行,每行\(3\)个数字。按照每行第\(1\)个数字升序排列。

输入输出样例

输入 #1 复制
输出 #1 复制
192 384 576
* * *
...

* * *
(输出被和谐了)

思路

直接枚举第一个数,从 \(100\)\(333\) ,然后判断即可

不多说了,代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
	for(int i=100;i<=333;i++)
	{
		bool w[10]={false};
		int a=i,b=i*2,c=i*3;
		w[a%10]=true;
		w[a/10%10]=true;
		w[a/100]=true;
		w[b%10]=true;
		w[b/10%10]=true;
		w[b/100]=true;
		w[c%10]=true;
		w[c/10%10]=true;
		w[c/100]=true;
		bool s=true;
		for(int i=1;i<=9;i++)
			if(w[i]!=true)
			{
				s=false;
				break;
			}
		if(s==true)printf("%d %d %d\n",a,b,c);
	}
	return 0;
}

谢谢--zhengjun

posted @ 2022-06-10 18:26  A_zjzj  阅读(27)  评论(0编辑  收藏  举报