Devjl @ 2022-02-15 00:54:34
我不知道为什么用搜索写,但看着没问题呀,就是过不了第五个点,为什么呀
#include <iostream>
using namespace std;
int a, b, c;
char d[20];
bool p[15], q[15];
bool falg;
void print() {
int h1[10], h2[10];
int f1, f2, f3;
bool flag = true;
f1 = ((int)d[1]) * 100 + ((int)d[2]) * 10 + ((int)d[3]);
f2 = (f1 / a) * b;
f3 = (f1 / a) * c;
if (f2 > 999 || f3 > 999)
flag = false;
int d1 = f1, d2 = f2, d3 = f3;
for (int i = 1; i <= 3; i++) {
q[d1 % 10] = 1;
q[d2 % 10] = 1;
q[d3 % 10] = 1;
d1 /= 10;
d2 /= 10;
d3 /= 10;
}
for (int i = 1; i <= 9; i++) {
if (q[i] == 0)
flag = false;
q[i] = 0;
}
if (flag) {
if (falg)
cout << endl;
cout << f1 << " " << f2 << " " << f3;
falg = true;
}
}
void dfs(int k) {
for (int i = 1; i <= 9; i++) {
if (!p[i]) {
p[i] = 1;
d[k] = i;
if (k == 3)
print();
else
dfs(k + 1);
p[i] = 0;
d[k] = 0;
}
}
}
int main() {
cin >> a >> b >> c;
dfs(1);
if (!falg)
cout << "No!!!";
return 0;
}
by 8atemak1r @ 2022-02-15 01:31:34
@Devjl 您的提交记录里也没这道题啊
by 编码落寞 @ 2022-02-15 09:31:19
@Devjl
ABC为123和ABC为246结果应该是一样的, 但是你的实际246输出值不全,建议先化简。
by Devjl @ 2022-02-15 22:49:29
@编码落寞 AC了,谢谢大佬
by lxdyz @ 2022-05-01 00:07:35
#include <iostream>
#include <iomanip> //为setprecision(2)提供证明。
using namespace std;//使用命名空间。
int main()
{
int A, B, C, a, b, c,a1, b1, c1;
int as[9] = {};
int as1, as2, as3, as4, as5=0;
double q1;
cin >> a >> b >> c;
a1 = a / a;//试图寻找公倍数
b1 = b / a;
c1 = c / a;
if (b1 / a1 == b / a && c1 / a1 == c / a)//去除公倍数
{
a = a1, b = b1, c = c1;
}
if (a<b&&b<c)//判断输入是否符合说明
{
for (A=100;A<1000;A++)
{
q1 = A / a;//求B C
B = q1 * b;
C = q1 * c;
as[0] = A % 10;
as[1] = (A / 10) % 10;
as[2] = (A / 100) % 10;
as[3] = B % 10;
as[4] = (B / 10) % 10;
as[5] = (B / 100) % 10;
as[6] = C % 10;
as[7] = (C / 10) % 10;
as[8] = (C / 100) % 10;
for (as1 = 0,as2=0,as3=1;as1 < 9; as1++)
{
as2 = as[as1] + as2;
as3 = as[as1] * as3;
}//输出乘积和合积
if (as2 == 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 && as3 == 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9&&A and B and C<1000)
{
cout <<A <<" " << B << " " << C << endl;
as5 = 1;
}//判断乘积和和积 以及A B C 是否小于1000
}
if (as5 == 0)
{
cout << "No!!!";
}//否定输出
}
return 0;
}
我优化了也一样??? @编码落寞