题目
分析
首先是定义。我们需要给出每个数字要用到多少根火柴棒,如上图。写成代码就是:
const int matchsticks[10] = {6, 2, 5, 5, 4, 5, 6, 3, 7, 6};
这是一道典型的暴力求解题。当然,我们需要在过程中及时“剪枝”。
核心过程是:
flowchart TD
A["A的循环"]-->
B["B的循环"]-->
C["计算C=A+B"]
-->D["A/B/C的火柴数合理"]
答案
思考
显然,这里有两个等式,一个是数学意义上的\(A+B=C\)。这个是通过代码中的57行来强制的。
第二个等式是火柴棒数量的等式。
最后,提醒一下,需要考虑加号和等号需要用掉4根火柴!