有趣的数算法

时间:2022-04-09 09:46:26

算法:

这里假设F[n][1]代表n位只含有2、3两种数字的有趣数数量,F[n][2代表n位只含有2、0两种数字有趣数数量,]F[n][3]代表n位只含有0、2、3有趣数数量,F[n][4]代表n位只含有0、1、2有趣数数量,F[n][5]代表n位含有0、1、2、3有趣数数量。

经过分析有如下关系:

F[n][1] = F[n-1][1] + 1

F[n][2] = F[n-1][2] * 2 + 1

F[n][3] = F[n-1][3]*2 + F[n-1][1] + F[n-1][2]

F[n][4] = F[n-1][4]*2 + F[n-1][2]

F[n][5] = F[n-1][5]*2 + F[n-1][3] + F[n-1][4]

起始条件是:

F[4][1] = 3

F[4][2] = 7

F[4][3] = 9

F[4][4] = 5

F[4][5] = 3