前面$ x\times y\times z\times a\times b\times c\times j\times k\times l$固定等于362800,后面的$ A\times B\times C\times (A\times 2)\times (B\times 2)\times (C\times 2)\times (A\times 3)\times (B\times 3)\times (C\times 3)$并不固定
by Ravener @ 2024-03-05 20:35:34
@[Ravener](/user/956382)
emmmmm 那该怎么办呢
by danaqi_ @ 2024-03-06 18:12:38
@[Ravener](/user/956382)
不对啊 前面的为什么是固定的?
by danaqi_ @ 2024-03-06 18:17:19
依题意,$x,y,z,a,b,c,j,k,l$对应$1$~$9$,所以乘积固定
by Ravener @ 2024-03-06 19:36:12
@[Ravener](/user/956382)
```cpp
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<cmath>
#include<algorithm>
using namespace std;
int sum;
int main(){
int x,y,z,a,b,c,j,k,l,A,B,C;
//freopen("三连击(升级).in","r",stdin);
//freopen("三连击(升级).out","w",stdout);
scanf("%d%d%d",&A,&B,&C);
for(int i=123;i<=999;++i){
x=i/100;
y=i/10%10;
z=i%10;
a=i*2/100;
b=i*2/10%10;
c=i*2%10;
j=i*3/100;
k=i*3/10%10;
l=i*3%10;
if(x+y+z+a+b+c+j+k+l==1+2+3+4+5+6+7+8+9&&x*y*z*a*b*c*j*k*l==1*2*3*4*5*6*7*8*9){
printf("%d %d %d\n",i*A,i*B,i*C);
++sum;
}
}
if(sum==0)
printf("No!!!");
//fclose(stdin);
//fclose(stdout);
return 0;
}
```
我就是因为这样做得了20分 才那样做的
by danaqi_ @ 2024-03-09 10:01:27
你定义$ x,y,z,a,b,c,j,k,l$的方式是不是有点问题
是不是应该改成这样
```
x=i*A/100;
y=i*A/10%10;
z=i*A%10;
a=i*B/100;
b=i*B/10%10;
c=i*B%10;
j=i*C/100;
k=i*C/10%10;
l=i*C%10;
```
by Ravener @ 2024-03-10 21:36:29
你下面那个代码改了之后能拿80分
剩下的20分需要特判$A=123,B=456,C=789$的情况
~~(话说这玩意能撤回吗~~
by Ravener @ 2024-03-10 21:50:25
@[danaqi_](/user/689105)
by Ravener @ 2024-03-10 21:51:06
@[Ravener](/user/956382)
谢谢 终于改对了
by danaqi_ @ 2024-03-11 19:29:21