一个简单问题怎么用c写出来

来源:百度知道 编辑:UC知道 时间:2024/05/28 11:41:53
有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月 后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数数为多少?

要求输入月数,然后就可以输出对数

假设成熟的兔子有 a 只,1月大的 b 只 2 月大的兔子 c 只

那么每个月 [a, b, c](t) 就是 一个当月的状态行向量。

可以求得
[1 1 0]
[a, b, c](t+1) = [a, b, c](t) [0 0 1]
[1 0 1]

假设第一月的向量为 x,x = [1, 0, 0]

设那个矩阵为 A
那么第 N 个月的向量是 x A^N
于是先求出矩阵 A 的 N 次方,然后与 [1, 0, 0] 相乘
得到的向量 [a, b, c] 结果就是 a + b + c

这是这里面的算法。。

至于语言怎么实现。。不想写了。。