1. 将所有Lucky Number按照(4,4),(4,7),(7,4),(7,7)分类,分别计算不重复的数的个数存于矩阵中:
---------------
| (4,4) | (4,7) |
--------------- ====> A
| (7,4) | (7,7) |
---------------
2. 求长度为length的Lucky Sequence的个数。这里应用矩阵乘法即可达到求解的目的。
(如:(4,4) = (4,4)*(4,4) + (4,7)*(7,4))
length = 1: return A
length = 2: return A * A
......
length = n: return A*A*...*A (即A^n)
若length为偶数:
A*A*A*...*A => (A*A)*(A*A)*...*(A*A)
=> (A^2)*(A^2)*...*(A^2)
=> (A^4)*(A^4)*...*(A^4)
=> ......
=> (A^(n/2)) * (A^(n/2))
=> A^n
若length为奇数:
A*A*A*...*A => A*(A*A*A*...*A) => ...
=> A*(A^((n-1)/2) * A^((n-1)/2))
由此可得:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

用矩阵乘法来求解,code能写的非常漂亮。可惜,“我只猜中了故事开头,却没猜到故事的结局”。