【找回数学的感觉】1 再版汉诺塔等

简介:

尤其在学过函数式编程之后,更加觉得想在计算机技术上上一个台阶必须得有非常扎实的数学基础。然而太多学生大学开始就慢慢淡忘了数学,和高中比起来根本不是一个境界。于是我决心开设这样一个系列,我每天都会练习,也会更新上博客,也希望大家能够每天练习,毕竟每天都有人推送题目^_^

独立思考是一个非常好的习惯,也希望大家能够拥有它,我虽然会在题目后搭上答案,但肯定不如你通过自己的思考学到的多,而且我写下来的肯定也不如各自思考大脑中想到的多。

第一题

这里写图片描述

我们的目标是将A中的整个塔移到C中,每次只移动一个圆盘,且较大的圆盘在移动过程中不能放置在较小的圆盘上面。圆盘数量为n。

这问题叫做河内塔问题,也称为汉诺塔。

以上的问题,大家想必都见过了,此处自然不会如此简单。

那么,此处的问题是:将n个圆盘从桩柱A移动到桩柱C,但不允许在A和C之间直接移动,也就是说每一次移动都要移动到中间的桩柱B或从桩柱B移出。求最短的移动序列。

第二题

平面上有n条直接定义的某些区域是无界的,而另一些区域是有界的。有界区域的 最大个数是多少?

这里写图片描述

如图所示,上过色的地方是有界的。

欢迎大家在评论处展开讨论,随着该系列的继续下去,难度也会慢慢增加的哦。

答案

第一题

T0=0 T0=0
T1=T0+1+T0+1+T0=2 T1=T0+1+T0+1+T0=2
T2=T1+1+T1+1+T1=8 T2=T1+1+T1+1+T1=8
T3=T2+1+T2+1+T2=26 T3=T2+1+T2+1+T2=26

Tn=3Tn1+2=3n1 Tn=3Tn1+2=3n1

第二题

Tn=Tn1+(n2) Tn=Tn1+(n2)
T3=1,T4=3,T5=6,T6=10 T3=1,T4=3,T5=6,T6=10
Tn=(n1)(n2)/2 Tn=(n1)(n2)/2

另外,这个系列取个什么名字好呢?找回数学的感觉?每天一道数学题?数学题系列?大家觉得呢……

目录
打赏
0
2
2
0
51
分享
相关文章
|
11月前
|
c语言编程练习题:7-29 二分法求多项式单根
c语言编程练习题:7-29 二分法求多项式单根
83 0
|
8月前
|
读《趣学算法》:重开算法之门,神奇的兔子数列(斐波那契数列)
本文通过《趣学算法》中的斐波那契数列问题,探讨了算法的递归实现、时间复杂度分析,并展示了如何通过迭代和优化存储空间来改进算法,最终将时间复杂度从指数级降低到线性级,并将空间复杂度从线性级降低到常数级。
137 0
读《趣学算法》:重开算法之门,神奇的兔子数列(斐波那契数列)
刷题记录:牛客-WY49数对 | 以数学分析来破解暴力搜索的时间复杂度问题 2023/1/11
这是一个关于编程题解的文章摘要,讨论了一道名为"WY49 数对"的问题。文章指出,暴力搜索的解决方案在大规模问题中效率低下,然后转向通过数学分析来寻找更优解。作者解释了如何根据除数和余数的关系,以及余数的周期性变化来计算满足条件的数对数量。通过将数对中的其中一个数(被模数x)按除数y划分区间,并分析每个区间的余数分布,得出一个公式来计算总数。最后,提供了两种不同的代码实现来展示这个思路,这些代码具有O(n)的时间复杂度和O(1)的空间复杂度。文章强调了理解数学方法在解决此类问题中的重要性,特别是对于优化算法性能的作用。
134 3
|
11月前
【错题集-编程题】素数回文(模拟 + 数学)
【错题集-编程题】素数回文(模拟 + 数学)
信息学奥赛 试除法:高效筛选素数的算法
本文介绍了在Python代码中如何使用试除法高效筛选素数。
206 0
|
11月前
考研高数之无穷级数题型三:将函数展开成幂级数和傅里叶级数(题目讲解)
考研高数之无穷级数题型三:将函数展开成幂级数和傅里叶级数(题目讲解)
175 0
面试 | 移位妙解递归乘法【细节决定成败】
面试 | 移位妙解递归乘法【细节决定成败】
96 0
数论整理之唯一质因子分解方程
数论整理之唯一质因子分解方程
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等