![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python算法
文章平均质量分 77
Xixi️Jjiao
这个作者很懒,什么都没留下…
展开
-
Python算法:数的全排列、组合详解
使用递归算法求全排列(暴力法)求 {1 2 3 4 5......n}的全排列的思路如下:(1)让第一个数不同,得到n个数列(办法是:把第1个和后面每个数交换即可):原创 2022-11-11 17:08:40 · 6615 阅读 · 1 评论 -
超级青蛙、汉诺塔、汉诺塔Ⅱ、kimi的早餐店、字母全排列
用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。我们知道最少需要移动2^64-1次.在移动过程中发现,有的圆盘移动次数多,有的少。递归算法为f(n) = f(n-1) + f(n-2) + .... + f(1),而f(n-1) = f(n-2) + f(n-3) + ....f(1),则f(n) - f(n-1) = f(n-1)包含多组数据,首先输入T,表示有T组数据.每个数据一行,是盘子的数目N(1原创 2022-09-17 21:26:52 · 157 阅读 · 0 评论 -
四塔汉诺塔问题、TC的火柴
贪心算法,要组成最大数字,当然是位数越多越大,所需火柴最小的数字是1,其次是7,其余消耗火柴太大,所以只需判断火柴数是否是2的倍数,如果是则全部组成1,如果不是则把剩余一根和第一个1组成替换成7,其余全部组成1。火柴拼数字规则是,拼出零到九分别需要6、2、5、5、4、5、6、3、7、6个火柴。现在给TC a个不同火柴数,求你帮TC计算不同的火柴数a分别能组成的最大数字,如果不能组成数字,输出-1。因为n-j个圆盘皆为大圆盘,所以对接下来的圆盘移动不会造成影响,剩下j个圆盘则用四塔方法挪动至D塔上,原创 2022-09-17 21:13:42 · 328 阅读 · 0 评论 -
盒子游戏、报数游戏
每次操作时,游戏者先看看哪个盒子里的球的数目比较少,然后清空这 个盒子(盒子里的球直接扔掉),然后把另一个盒子里的球拿一些到这个盒子中,使得两个盒子都至少有一个 球。游戏开始时,最左边的人报 1,他右边的 人报 2,编号为 3 的人报 3,等等。当编号为 n 的人(即最右边的人)报完 n 之后,轮到他左边的人(即编号为 n-1 的人)报 n+1,然后编号为 n-2 的人报 n+2,以此类推。每组数据占一行,包含三个整数 n,m和 k(2原创 2022-09-15 11:59:11 · 148 阅读 · 0 评论