[NOIP1998 普及组] 三连击
[NOIP1998 普及组] 三连击
思路:本题可以运用暴力枚举法,因为题目中有9个数字,所组成的3个三位数a,b,c的各个位数上的数的乘积与这已知的9个数的乘积相等,并且b=2*a,c=3*a。从能组成的最小三位数开始循坏,找满足条件的数即可。
代码如下:
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int a,b,c;
for(int a=123;a<=330;a++)
{
b=2*a;
c=3*a;
if((a%10)*(a/10%10)*(a/100%10)*(b%10)*(b/10%10)*(b/100%10)*(c%10)*(c/10%10)*(c/100%10)==1*2*3*4*5*6*7*8*9)
cout<<a<<" "<<b<<" "<<c<<endl;
}
return 0;
}