题目描述
给你 nn根火柴棍,你可以拼出多少个形如 A+B=C的等式?等式中的 A、B、C是用火柴棍拼出的
整数(若该数非零,则最高位不能是 0)。用火柴棍拼数字 0∼9 的拼法如图所示:
注意:
-
加号与等号各自需要两根火柴棍;
-
如果A ≠ B,则 A+B=C 与 B+A=C B+A=C 视为不同的等式(A,B,C\geq0A,B,C≥0);
-
n根火柴棍必须全部用上.
输入格式
一个整数 n(1 \leq n\leq 24)n(1≤n≤24)。
输出格式
一个整数,能拼成的不同等式的数目。
根据上图可知,0到9 十个数所用的火柴数量分别是6,2,5,5,4,5,6,3,7,6;
即:
但是10及其以上的数该怎么表示呢?
火柴总数就只看一个数外表的组成,就拿11来说吧,十位是1,个位也是,所用火柴数就是1的两倍,即4;
以此类推:
可以作一函数:
这里一定要做到四位数(其实计算到1111就行),不然会计算不全;
要求拼出的等式是A+B=C;
"+"和"="都各需2根,共四根,所以能够拼A、B、C的火柴总数为n-2
每次等式成立的条件为
最后代码如下:
标签:24,总数,NOIP2008,拼出,等式,火柴,P1149 From: https://www.cnblogs.com/LFClfc123/p/17179962.html