Simon3_14 @ 2023-10-26 21:39:06
普通版的我是这么写的能过,这里却wa一个,re一个。。。为什么嘞,好像很多记录这样(汗
#include <iostream>
using namespace std;
int main()
{
double a, b, c, d, e, f, g, h, i;
int x, y, z, flag = 0;
cin >> x >> y >> z;
for (int k = 123; k <= 999;k++)
//k到三百多就够
{
a = k % 10;
b = k / 10 % 10;
c = k / 100;
//第一个数三位数字
d = y * k % 10 / x;
e = y * k / 10 % 10 / x;
f = y * k / 100 / x;
//第二个数三位数字
g = z * k % 10 / x;
h = z * k / 10 % 10 / x;
i = z * k / 100 / x;
//第三个数三位数字
if (a + b + c + d + e + f + g + h + i == 45 && a * b * c * d * e * f * g * h * i == 362880)
{
cout << c << b << a << " " << f << e << d << " " << i << h << g << endl;
flag = 1;
}
}
if(flag==0)
cout << "No!!!";
return 0;
}
by jqQt0220 @ 2023-10-26 21:41:35
x 可能为 0
by Simon3_14 @ 2023-10-26 22:00:22
@jqQt0220 哦!谢谢,原来还有这种情况! 另外我还发现由于x位置不对,输入等比例扩大的数也会输出No
by Simon3_14 @ 2023-10-26 23:52:56
@jqQt0220 烷氮,好不容易搞完等比例,突然发现378,456根本无法判断,还得大改。。。