https://www.luogu.com.cn/problem/P1008
最开始需要确定a的浮动区间,因为a,b,c无论如何都存在1:2:3的比例,最小值当然是123,但是我在最初确定最大值的视乎以为是321,但是实际上却是327,因此为了方便就将其设置为333.
如果三个数的每一位数相加等于1+2+。。。+9,相乘等于1*2。。。*9,这样就可以唯一确定数字不重不漏。
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
for(a = 123;a <= 333;a++)
{
b = a*2;
c = a*3;
if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==45)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==2*3*4*5*6*7*8*9))
cout << a << " " << b << " " << c << endl;
}
}