- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 汉诺塔问题的非递归非堆栈算法(一)
#include #include #define maxno 10000int step_d,step_s,no;//定义将要行进的步数void main(){ cout cin>>no;//获取实际的塔片数 //初始化 int **p=new int*[3]; p[0]=new int[no+1]; p[1]=new int[no+1]; p[2]=new int[no+
2004-03-08 10:00:00
1955
1
原创 汉诺塔问题的非递归非堆栈算法(二)
前一种方法的/*原理: 如果把三个柱子围成一个环,盘子总数为N,其移动的规律是: 如果N为偶数:奇数号盘每次2步;偶数号盘每次1步; 如果N为奇数:奇数号盘每次1步;偶数号盘每次2步; 至于下一步该移动哪个柱子上的盘子,通过大小和顺序即可判断。 以上可以通过数学证明,不赘述!*/以下是第二种算法:#include #include void main(){ int tt = 1,ff=1
2004-03-05 13:35:00
1441
2
原创 一道微软公司的面试题目的算法实现
据说属微软公司的面试题.原题目描述:已知两个数字为1~30的,甲知道两数只和,乙知道两数之积,甲问乙:“你知道是那两个数吗?”乙说:“不知道”。乙问甲:“你知道是那两个数吗?”甲说:“也不知道”。于是,乙说 :“那我知道了”随后甲也说:“那我也知道了”这两个数是什么?以下用VB。NET实现: Dim NUM, SUM, PRODUCT As Int32 Dim Pro
2004-03-05 13:35:00
1355
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人