递归
liangbch
这个作者很懒,什么都没留下…
展开
-
打印整数的所有分解式
这个题目的要求是:将一个大于1的整数写成几个整数乘积的形式,因为任意数和1相乘,其乘积不变,故要求分解后的数不能为1。题目要求所有的排列形式,所以12=3×4和12=4×3应该视为是两个不同的分解式,都应当输出。例如:对于整数n=36,其所有的分解式是 36=36 36=2*18 36=18*2 36=3*12 36=12*3 36=4*9 36=9*4 36=6*6 36=2*原创 2012-05-30 14:32:04 · 2222 阅读 · 2 评论 -
使用回溯法求所有从n个元素中取m个元素的组合
一个使用回溯法求n个元素中去m个元素的c语言代码,包括2个版本,递归版和迭代版,前者代码简洁,后者性能更好些。原创 2013-09-13 13:55:56 · 8986 阅读 · 2 评论 -
转化逆波兰式为常规表达式
转化逆波兰式为常规表达式原创 2013-09-25 00:11:23 · 2471 阅读 · 0 评论 -
最短的计算大数乘法的c程序
这个程序目的是尽量使用最少的代码来计算大数乘法。本程序接收2个从键盘输入的整数,计算他们的乘积,并输出结果,去除回车和不必要的空格,源代码仅仅194个字节。原创 2015-07-01 21:53:20 · 3704 阅读 · 0 评论 -
排序算法从入门到精通之六--快速排序
快速排序的算法是一种分而治之的算法,是一个递归算法。在通常情况下,快速排序算法是已知的最快的算法,故称这个算法为快速排序。其方法是:1.首先找出一个枢轴元素base。2.扫描待排序的数组,将这个数组划分为2部分,使左部分的所有元素小于等于base,右部分的所有元素大于base。3.对左部分的子数组继续做这个操作。4.对右部分的子数组做同样的操作。5.继续递归下去,直到数组的长度小于为1。原创 2018-04-14 10:42:07 · 443 阅读 · 0 评论 -
排序算法从入门到精通之七--归并排序
这篇文章讲述了归并排序的算法并给出一个优化的实现。通常,快速排序被认为是最快的算法,但是从算法性能这个方面讲,归并排序是快速排序的有力竞争者,他甚至比快速排序更快。快速排序的缺点是性能不稳定,特定的数据分布会导致排序性能变差。而归并排序是稳定的排序,其性能和数据的分布无关。归并排序的缺点是需要的内存空间比较大。原创 2018-04-14 22:27:55 · 958 阅读 · 0 评论