[NOIP1998 普及组] 三连击

[NOIP1998 普及组] 三连击

题目背景

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

题目描述

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

输入格式

输出格式

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

样例 #1

样例输入 #1

样例输出 #1

192 384 576
* * *
...

* * *
(剩余部分不予展示)

(这水题多是一件美逝)


#include <bits/stdc++.h>
using namespace std;
int main()
{
	//	freopen(".in","r",stdin);
	//	freopen(".out","w",stdout);
	int a,b,c;
	for(a=123;a<=333;a++)
	{
		b=2*a,c=3*a;
		if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==1+2+3+4+5+6+7+8+9)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==1*2*3*4*5*6*7*8*9))
		{
			cout << a << ' ' << b << ' ' << c << '\n';
		}
	}
	return 0;
}
posted @ 2023-05-11 20:09  Momo·Trace  阅读(28)  评论(0编辑  收藏  举报