首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何求解递归T(n)=T(n-1)+T(n-3)-T(n-4),n>=4

如何求解递归T(n)=T(n-1)+T(n-3)-T(n-4),n>=4
EN

Stack Overflow用户
提问于 2016-12-05 14:13:22
回答 2查看 1.6K关注 0票数 0

如何求解递推方程

1.T(n)=T(n-1)+T(n-3)-T(n-4),n>=4

2.以0<=n<=3的T(n)=n为限

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-05 14:26:44

通过计算第一个数字,您可以很快怀疑解决方案是T(n) = n

然后您可以使用数学归纳法来证明这一点。

基础:

对于第一个元素n = 4,我们可以计算如下所示的值:

代码语言:javascript
复制
T(4) = T(3) + T(1) - T(0) = 3 + 1 - 0 = 4

所以这句话是真的。

诱导步骤:

假设T(n) = n,表明T(n+1) = n+1

代码语言:javascript
复制
T(n+1) = T(n) + T(n-2) - T(n-3) = n + (n-2) - (n-3) = n+1

它显示了所有T(n) = nn >= 0

票数 2
EN

Stack Overflow用户

发布于 2016-12-05 14:25:01

我用类似于C风格的语言创建了算法。如果您添加函数Main和必需的包含,我猜C#会运行它。

代码语言:javascript
复制
int CountT(int n)
{
    if (n < 0)
    {
        throw new Exception("N is lower than zero");
    }
    else if (n <= 3)
    {
        return n;
    }
    else
    {
        return CountT(n-1)+CountT(n-3)-CountT(n-4);
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40976269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档