排队买票问题的递归算法

10个小孩排队买票问题,通过C语言递归解决。 问题: 有10个小孩到公园玩,门票是1元。其中5个小孩带的钱为1元,5个小孩带的钱为2元。售票员没有零钱,问这些小孩共有多少种排队方法,使得售票员总能找得开零钱。 思考: 1. 首先这涉及到高中数学里的排列组合问题。也就是说,两个拿一元零钱的小孩,他们的位置互换,也算是一种新的排法。 <P class=MsoNormal style="MARGIN: 0cm 0cm 0pt
2006-08-14 17:52 | 阅读 2844 次 | 评论 0 条

元素进出栈问题的递归解决

一个元素顺序进出栈的问题,求解共可能有多少种出栈序列。使用c语言进行递归解决。 问题: 有n个元素按顺序进栈,但是在进栈过程中任何时候任何一个元素都可以出栈。 问这样的情况下共可能形成多少种出栈序列。 解决: 根据元素的进出栈过程,可以抽象出一个中间状态。 这个状态就是: k个元素在等待进入栈 A个元素存放于栈中 &nbs
2006-08-12 01:25 | 阅读 2081 次 | 评论 0 条

一道有趣的算术思考题

很久就在网上看到这道题,挺有趣,当初答案众多,自己设了4个未知数,列了3个方程才解出来,后来发现其实一个简单的比例就可以解决了~~ P.S.其实好老的题目~ 题目: 一支长度为100米的队伍在行进,一个哨兵从队伍尾走到队伍头,又从队伍头走到队伍尾,这个过程中队伍前进了100米。队伍和哨兵的速度都是保持不变的。问这个过程中哨兵一共走了多少米(是路程不是位移~)? 思考: <SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font...
2006-08-10 21:03 | 阅读 2600 次 | 评论 0 条

报数问题的程序实现

n个人报数的问题,可以使用c语言进行简单的递归实现。 问题描述: n个人围成一个圈,编号为1~n,从第1号开始报数,报到3的倍数的人离开(即每数到第三个就离开),一直数下去,直到最后只剩下1人。求剩下的这个人的原始编号。 问题理解: 在将这个问题转化为编程解决的时候,需要考虑如下几个问题: 1. 使用数组来存放人。假设人的数目为count<SPAN style="FONT-FAMILY: 宋体; mso-ascii-font-family: 'Courier New'; mso-hansi-font-family: 'Courier New'; mso-bidi-fon
2006-08-10 17:29 | 阅读 2241 次 | 评论 0 条
文章归档
最新评论