#2608. C++-一维数组-搭数字火柴(拓展03-输入是A的最大值,再输入火柴根的数量)

C++-一维数组-搭数字火柴(拓展03-输入是A的最大值,再输入火柴根的数量)

Background

Description

拓展:A和B的取值范围是相同,但是为输入的整数值,则输入是A的最大值,再输入火柴根的数量。

搭数字火柴,给n(n<=24的正整数)根火柴棍,可以拼出多少个形如“A+B=C”(由于n<=24,A和B的范围是0 ~1000)的等式

等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0-9的拼法如图所示: image

1.加号与等号各自需要两根火柴棍,也就是共需4根固定的火柴!

2.形如01数字就是不成立的,必须写成1!

3.如果A≠B,则A+B=C与B+A=C视为不同的等式(A、B、C>=0)

4.n (n<=24)根火柴棍必须全部用上。

首先,这里我们练习函数的使用,所以我要求学生自己写一个函数用来将数字与火柴的根数相对应,之后我们需要将要想办法让任意一个数字输入可以求得这个数字需要几根火柴

接下来回到逻辑问题:我们怎样可以知道A、B、C、的值,通过思考我们知道使用循环进行尝试逐次累加,符合的话进行计数并输出

Format

Input

Output

Samples

10
18
0+4=4
1+10=11
2+2=4
2+7=9
4+0=4
7+2=9
10+1=11
7
100
20
0+2=2
0+3=3
0+5=5
0+17=17
0+71=71
1+9=10
1+12=13
1+17=18
1+70=71
2+0=2
2+11=13
3+0=3
3+3=6
3+7=10
3+8=11
3+14=17
4+13=17
4+17=21
5+0=5
6+7=13
7+3=10
7+6=13
7+10=17
7+11=18
7+14=21
8+3=11
9+1=10
10+7=17
11+2=13
11+7=18
12+1=13
13+4=17
14+3=17
14+7=21
17+0=17
17+1=18
17+4=21
70+1=71
71+0=71
39
1000
23
1+18=19
1+21=22
1+31=32
1+43=44
1+44=45
1+46=47
1+51=52
1+75=76
1+113=114
1+114=115
1+116=117
1+171=172
1+711=712
2+13=15
2+14=16
2+75=77
3+12=15
3+41=44
3+111=114
4+12=16
4+14=18
4+15=19
4+27=31
4+41=45
4+77=81
4+111=115
5+8=13
5+14=19
5+71=76
5+72=77
6+6=12
6+8=14
6+9=15
6+41=47
6+111=117
7+24=31
7+37=44
7+47=54
7+67=74
7+74=81
8+5=13
8+6=14
8+11=19
9+6=15
10+11=21
11+8=19
11+10=21
12+3=15
12+4=16
13+2=15
14+2=16
14+4=18
14+5=19
14+57=71
15+4=19
17+17=34
17+54=71
18+1=19
21+1=22
24+7=31
27+4=31
31+1=32
37+7=44
41+3=44
41+4=45
41+6=47
43+1=44
44+1=45
46+1=47
47+7=54
51+1=52
54+17=71
57+14=71
67+7=74
71+5=76
72+5=77
74+7=81
75+1=76
75+2=77
77+4=81
111+3=114
111+4=115
111+6=117
113+1=114
114+1=115
116+1=117
171+1=172
711+1=712
88

Limitation

1s, 1024KiB for each test case.