题解 | #abc#
本题只有a,b,c三个从0到9的数,枚举量仅为 10x10x10 = 1000,所以本题可让a,b,c从0枚举到9,每当遇到符合题目要求的解,就输出它。但在动手写代码之前,可以再做一些分析:abc = 100a + 10b + c,bcc = 100b + 11c,于是abc + bcc = 100a + 110b + 12c。因此,只需判断前一个等式的右侧是否等于532即可,这样便简化了加法。
#include<cstdio>
using namespace std;
int main() {
int a, b, c;
for(a = 0; a <= 9; a++)
{
for(b = 0; b<= 9; b++)
{
for(c = 0; c <= 9; c++)
{
if(100 * a + 110 * b + 12 * c == 532)
{
printf("%d %d %d\n",a, b, c);
}
}
}
}
return 0;
}
// 64 位输出请用 printf("%lld")
#机试#