递归
keshuqi
C++开发师
展开
-
汉诺塔
1. 汉诺塔问题:设有三个塔座,依次命名为X,Y,Z,设n个直径不同的圆盘,从小到大依次编号为1,2,3,…….n。开始时,它们全部按递减的次序插在塔座上。现要求按下列规则把n个圆盘按次序插放在Z塔座上。(1) 每次只能移动一个圆盘;(2) 圆盘可以从任一个塔座上移到另一个塔座上;(3) 任何时刻都不能把一个较大的圆盘压在较小的圆盘上。#原创 2016-04-15 19:29:07 · 275 阅读 · 0 评论 -
C r and n(组合数)
找出n个数的r个数的组合,如下形式:输入:n,r分别为 5, 3输出: 5 4 35 4 25 4 15 3 25 3 15 2 14 3 2 4 3 1 4 2 13 2 1分析:我的思路如下,用增量构造法原创 2016-04-16 17:43:46 · 1031 阅读 · 0 评论 -
first root
给出一棵二叉树的中序和后序排列。求出它的先序排列【提示】通过对比二叉树的中序和后序排列,我们可以找出根节点及左右子树。同样的,也可以通过对比左子树的中序和后序排列,找出左子树的根节点…….可见,该问题能够被递归描述。当找到最后一个根节点时,递归无法再进行下去,这就是递归结束的边界条件。(1)输入://中序 b a c//后序 b c a输出://先序 a b c (2原创 2016-04-16 21:43:31 · 566 阅读 · 0 评论 -
数的拆分(数的划分)
要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n①.不作任何处理;②.在它的左边加上一个自然数,但该自然数不能超过原数的一半; ③.加上数后,继续按此规则进行处理,直到不能再加自然数为止.样例: 输入:6满足条件的数为: 6 1 6 2 6 1 2 6 3 6 1 3 6原创 2016-04-17 12:05:46 · 1940 阅读 · 0 评论 -
noip模拟赛(一)宠物之战
宠物之战(senso.pas/c/cpp)【问题描述】 众所周知,moreD的宠物已经被moreD奴役得体无完肤。这只宠物实在忍无可忍,把自己每天走魔法树的经历告诉了自己的宠物。同时他还说明了自己爬树是多么地慢,以至于moreD每天都残酷地训练他爬树。 幸运的是moreD的宠物的宠物不是moreD的宠物,moreD的宠物深知”宠物是用来宠的而不是用来奴役的”原创 2016-09-04 20:30:03 · 1042 阅读 · 0 评论