【组合数学】递推方程 ( 递推方程示例 1 | 列出递推方程 )

简介: 【组合数学】递推方程 ( 递推方程示例 1 | 列出递推方程 )

文章目录

一、递推方程示例 1

二、递推方程示例小结





一、递推方程示例 1


编码系统使用 8 88 进制数字 , 对信息编码 , 8 88 进制数字只能取值 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 0,1,2,3,4,5,6,70,1,2,3,4,5,6,7 ,


只有当某个编码含有 偶数个 7 77 时 , 该编码才是有效的 ,


求 n nn 位的编码中有效的编码个数 ?




分析 :


n nn 位长的编码 , 可以 由 n − 1 n-1n−1 位长的编码 , 后面加上 一位 8 88 进制数字 构成 ;


对于每个 n − 1 n-1n−1 位长的编码 , 后面加上一位数字 , 使得最终的编码 满足 有效编码的要求 , 即含有偶数个 7 77 , 就可以得到一个有效的 n nn 位长的编码 ;



1 . 设 n nn 位长的有效编码个数是 a n a_na

n


 个 ;


则有 n − 1 n-1n−1 位长的有效编码个数是 a n − 1 a_{n-1}a

n−1


 个 ;



现在考虑 n nn 位长的编码 与 n − 1 n-1n−1 位长的编码之间的关联关系 ;


( 1 ) 偶数个 7 77 : 假定当前已经有一个 n − 1 n-1n−1 位长的 8 88 进制编码串 , 恰好含有偶数个 7 77 , 即该编码已经满足有效编码的要求 , 在加上一位数字 :


不可以加的数字 : 不能加 7 77 , 加了 7 77 之后 , 就会变成 奇数个 7 77 , 成为无效编码 ;

可以加的数字 : 只能加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,60,1,2,3,4,5,6 数字 , 这里有 7 77 种方式 ;

由一个 n − 1 n-1n−1 位长的 , 满足要求的编码 , 有 7 77 种方式生成一个 n nn 位长的编码 ;



( 2 ) 奇数个 7 77 : 假定当前已经有一个 n − 1 n-1n−1 位长的 8 88 进制编码串 , 恰好含有奇数个 7 77 , 即该编码不满足有效编码的要求 , 在加上一位数字 :


不可以加的数字 : 不能加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,60,1,2,3,4,5,6 数字 , 加了以后 , 最终结果还是有奇数个 7 77 , 不满足有效编码的要求 ;

可以加的数字 : 只能加 7 77 , 加了 7 77 之后 , 就会变成 偶数个 7 77 , 成为有效编码 ;

由一个 n − 1 n-1n−1 位长的 , 不满足要求的编码 , 有 1 11 种方式生成一个 n nn 位长的编码 ;




3 . 总个数 8 n − 1 8^{n-1}8

n−1

 :


n − 1 n-1n−1 位长的编码的总数是 8 n − 1 8^{n-1}8

n−1

 个 , 每个位置都有 8 88 种可能的选择 , 有 n − 1 n-1n−1 个位置 ;


又可以表述成 : n − 1 n-1n−1 位长的包括 , 奇数个 7 77 , 偶数个 7 77 , 的编码总数是 8 n − 1 8^{n-1}8

n−1


编码中如果没有 7 77 , 是 0 00 个 7 77 , 算偶数个 7 77 ;




4 . n − 1 n-1n−1 位编码的有效个数 a n − 1 a_{n-1}a

n−1


 :


n − 1 n-1n−1 位中 , 偶数个 7 77 的个数 , 就是有效编码的个数 , 即上述假设的


“设 n nn 位长的有效编码个数是 a n a_na

n


 个” , 则有


"n − 1 n-1n−1 位长的有效编码个数是 a n − 1 a_{n-1}a

n−1


 个"




5 . n − 1 n-1n−1 位编码的无效个数 8 n − 1 − a n − 1 8^{n-1} - a_{n-1}8

n−1

−a

n−1


 :


n − 1 n-1n−1 位长的包括 奇数个 7 77 , 偶数个 7 77 的 编码总数是 8 n − 1 8^{n-1}8

n−1


n − 1 n-1n−1 位中 , 偶数个 7 77 的个数 , 就是 有效编码的个数 , 即上述假设的 a n − 1 a_{n-1}a

n−1



则 n − 1 n-1n−1 位中 , 奇数个 7 77 的个数 , 就是无效编码的个数 , 即上述 总个数减去有效编码个数 , 结果是 :


8 n − 1 − a n − 1 8^{n-1} - a_{n-1}

8

n−1

−a

n−1





6 . 分析第 n nn 项与 n − 1 n-1n−1 项之间的关系 , 即 n nn 位有效编码个数 与 n − 1 n-1n−1 位有效编码个数 :


有效编码个数对应的添加方法数 : n − 1 n-1n−1 位编码的有效个数 a n − 1 a_{n-1}a

n−1


 , 含有偶数个 7 77 , 每个有效编码 , 添加一位数字 , 组成 n nn 位有效编码 , 有 7 77 种对应的添加方式 , 即添加 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,60,1,2,3,4,5,6 数字 , 七种方式 ; 方法数是 7 a n − 1 7a_{n-1}7a

n−1



无效编码个数对应的添加方法数 : n − 1 n-1n−1 位编码的无效个数 8 n − 1 − a n − 1 8^{n-1} - a_{n-1}8

n−1

−a

n−1


 , 还有奇数个 7 77 , 每个无效编码 , 只能添加一个数字 7 77 , 组成 n nn 位有效编码 , 只有一种方法 ; 方法数是 8 n − 1 − a n − 1 8^{n-1} - a_{n-1}8

n−1

−a

n−1




因此这里可以写出 n nn 位编码的有效个数 a n a_na

n


 与 n − 1 n-1n−1 位编码有效个数 a n − 1 a_{n-1}a

n−1


 的关系 :


a n a_na

n


 = == 7 a n − 1 7a_{n-1}7a

n−1


 + ++ 8 n − 1 − a n − 1 8^{n-1} - a_{n-1}8

n−1

−a

n−1



化简后得到 :


a n a_na

n


 = == 6 a n − 1 6a_{n-1}6a

n−1


 + ++ 8 n − 1 8^{n-1}8

n−1




7 . 初值讨论


如果只有 1 11 位编码 , 肯定不能是 7 77 , 这样就含有奇数个 ( 1 11 个 ) 7 77 , 是无效编码 ;


只能是 0 , 1 , 2 , 3 , 4 , 5 , 6 0,1,2,3,4,5,60,1,2,3,4,5,6 这 7 77 种 , 因此有 1 11 位编码时 , 有效编码个数是 7 77 个 ,


产生 递推方程初值 a 1 = 7 a_1 = 7a

1


=7




8 . 最终得到的递推方程 :


递推方程 : a n a_na

n


 = == 6 a n − 1 6a_{n-1}6a

n−1


 + ++ 8 n − 1 8^{n-1}8

n−1


初值 : a 1 = 7 a_1 = 7a

1


=7


解上述递推方程的通项公式 : a n = 6 n + 8 n 2 a_n = \cfrac{6^n + 8^n}{2}a

n


=

2

6

n

+8

n







二、递推方程示例小结


该问题是一个具体的计数问题 , 上述问题并不是简单的计数 ,


该计数带参数 n nn ,


这种类型的计数 , 可以看成一个 数列计数结果 ,


如果可以找到该数列 , 后项 , 前项 , 的依赖关系 ,


并且知道 初值 ,


就可以 解出该数列的通项公式 ,


该通项公式就恰好对应该计数结果 ;


目录
相关文章
|
XML 安全 定位技术
无人船水下地形测量作业流程
无人船水下地形测量作业流程
915 0
lodash判断对象的属性是否存在
lodash判断对象的属性是否存在
757 0
|
前端开发 Python
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
【Python • 项目实战】pytesseract+pyqt实现图片识别软件小项目——(二)实现QQ截图功能
512 0
|
6月前
|
数据采集 安全 算法
2024第十五届蓝桥杯网络安全赛道省赛题目writeup(包含理论题、web、crypto、misc、reverse、pwn)
本文是2024年第十五届蓝桥杯网络安全赛道CTF真题赛题详解。主要内容包括PHP运算符、代码审计、爬虫协议、流量分析、AES/RSA加密、DWT盲水印、逆向工程、栈溢出和堆漏洞利用等技术点。其中,爬虫协议题目通过访问robots.txt获取flag;流量分析题目使用Wireshark导出HTTP对象并解密base64数据;逆向工程题目分析RC4和XXTEA算法;Pwn题目利用栈溢出和UAF漏洞实现攻击。文章详细记录了每道题的解题思路和具体步骤。
2024第十五届蓝桥杯网络安全赛道省赛题目writeup(包含理论题、web、crypto、misc、reverse、pwn)
|
8月前
|
人工智能 安全 API
MCP vs 传统集成方案:REST API、GraphQL、gRPC的终极对比
作为一名长期关注AI技术发展的博主摘星,我深刻感受到了当前AI应用集成领域正在经历的巨大变革。随着Anthropic推出的Model Context Protocol(MCP,模型上下文协议)逐渐成熟,我们不得不重新审视传统的系统集成方案。在过去的几年中,REST API凭借其简单易用的特性成为了Web服务的标准选择,GraphQL以其灵活的数据查询能力赢得了前端开发者的青睐,而gRPC则以其高性能的特点在微服务架构中占据了重要地位。然而,当我们将视角转向AI应用场景时,这些传统方案都暴露出了一些局限性:REST API的静态接口设计难以适应AI模型的动态需求,GraphQL的复杂查询机制在处
487 0
MCP vs 传统集成方案:REST API、GraphQL、gRPC的终极对比
|
7月前
|
缓存 Ubuntu Windows
Ubuntu系统安装软件不难,掌握几个命令即可
通过上面的命令,基本就可以掌握管理Ubuntu操作系统的软件安装卸载管理。
|
人工智能 安全 数据挖掘
销售易、红圈、励销云:CRM系统的新纪元
销售易、红圈和励销云是国内知名的CRM解决方案,各有独特优势。销售易功能全面,适合中大型企业;红圈定制化能力强,适用于多行业大中型企业;励销云灵活高效,是中小企业的理想选择。本文从功能、用户体验、价格、市场评价及适用场景等方面对比总结这三款CRM系统,帮助企业根据自身需求做出最佳选择。
|
供应链 搜索推荐 算法
淘宝电商运营的小秘籍,看完血赚。
在淘宝电商竞争激烈的环境中,掌握实用运营技巧是成功的关键。本文深入剖析了淘宝电商运营的五大核心策略:精准市场定位与选品、引人入胜的店铺装修、优质客户服务、灵活营销推广及数据驱动决策。通过这些技巧,你可以在淘宝平台上打造独具魅力的店铺,吸引更多流量和客户,实现销售业绩稳步增长,最终脱颖而出,成为知名品牌。
1542 10
|
存储 算法 Android开发
AVB校验微观版本:android avb(Android Verified Boot)验证
AVB校验微观版本:android avb(Android Verified Boot)验证
2315 0
|
机器学习/深度学习 人工智能 Rust
如何在AI中使用Rust
【9月更文挑战第4天】Rust 以其高性能、安全性和并发性在人工智能领域崭露头角。尽管 Python 和 R 仍为主流,Rust 的库生态系统及其独特特性使其成为需要高性能和内存安全的 AI 项目的理想选择。本文探讨 Rust 在 AI 中的应用,包括关键库(如 Candle、Linfa)和用例,并提供了一个简单的文档聚类项目示例。Rust 能够构建高效且安全的 AI 应用,是追求高性能和可靠性的开发者们的有力工具。
984 12