递归
Lilyan_blog
这个作者很懒,什么都没留下…
展开
-
数论基础——计算最大公约数和最小公倍数
知识简介什么是最大公约数,什么又是最小公倍数呢?| 代表的是 / 除法下面把求最大公约数称为gcd,求最小公倍数称为lcm,他们有什么性质?算法证明原理从1可知,我们求出最大公约数gcd就可以通过公式lcm = (a * b) / gcd即能得到最小公倍数了,那么我们介绍一种常用的求最大公约数的方法,那就是欧几里得算法例题这里给出题目地址:简单基础gcd例题AC...原创 2020-03-14 13:35:00 · 416 阅读 · 0 评论 -
数组中任意几个元素的和是否等于m(递归)
1.问题描述已知一个一维数组,又已知一个整数m。如果能使数组a中几个元素之和等于m,则输出Yes,否则输出No。样例输入:3 3 1 6 6样例输出:Yes2.算法分析其实这道题目意思就是,假定数组为nums,就是让我们判断能否从数组nums取任意数使其和为m对于nums中任意元素nums[n]...原创 2018-11-06 17:34:36 · 4250 阅读 · 0 评论 -
汉诺塔递归问题进阶
1.问题描述2.算法分析相信大家对汉诺塔经典的递归问题都有所了解,给你ABC三个柱子,n个盘子放在起始柱子A上,盘子的排列从上至下依次有小到大排列。小的盘子必须放在大的盘子上面。我们每次递归前都将n-1个盘子借助C柱子移动至B柱子,然后我们再将最大的盘子移动至C柱子即可。可以定义一个汉诺塔函数:void hanoi(int A, int B, int C, int n){ if ...原创 2018-12-22 09:10:18 · 553 阅读 · 2 评论 -
递归入门——数的计算
题目描述2.算法分析:这道题目我们先找规律,比如输入0,1的时候那么肯定只有本身了,所以f[0] = f[1] = 1然后发现2的时候,2本身加上12,所以f[2] = 2,当为3时本身3加上13也是f[3] = 2.。。。。。f[4] = 4 —— 4,14,24,124f[5] = 4——5,15,25,125f[6] = 6——6,16,26,36,126,136f[7] ...原创 2019-01-19 21:14:16 · 855 阅读 · 0 评论 -
整数划分问题——递归,dfs求解
1.问题描述:给定任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。当n = 7,共有14种拆分方法:2.算法分析:这道题目我们可以想到其实应该用递归来做,而dfs又是可以使用递归求解,我们首先可以在递归函数里进行拆分的枚举,需要拆分的数应该是能够由哪一些数相加,怎样设计递归函数dfs呢,我们应该清楚应该拆分n,比如n为7的时候,我们先拆了1,那么n还剩下6对吧,所以我们设计...原创 2019-02-25 19:32:05 · 623 阅读 · 0 评论