mwfd.net
当前位置:首页 >> VB 程序设计 (汉诺塔问题) >>

VB 程序设计 (汉诺塔问题)

给你个参考:Private Sub hanoi(n As Integer, one As String, two As String, three As String)If n = 1 ThenPrint Tab(5); one; "------->"; threeElseCall hanoi(n - 1, one, three, two)Print Tab(5); one; "------->"; threeCall hanoi(n - 1, two, one, three)End

这个程序难度不小,估计是个课程设计或是毕业设计之类的,我建议你还是自己先动手做,当遇到问题再提出来大家帮忙.不是一个人一两天能做出来的,只要开始去做,好的开始是成功的一半.

procedure Hanoi(N,A,B,C:integer;);{以B柱为中转柱将N个盘子从A柱移动到C柱}beginif N=1 then write(A,'->',C){把盘子直接从A移动到C}else beginHanoi(N-1,A,C,B);{以C柱为中转柱将N-1个盘子从A柱移动到B柱}write(A,'->',C);{把剩下的一个盘子从A移动到C}Hanoi(N-1,B,A,C);{以A柱为中转柱将N-1个盘子从B柱移动到C柱}end;end;

可以使用shape控件和line控件.

【编程引子】 “汉诺塔”问题源自印度的一个古老传说,对于它的算法比较常见的是应用递归调用.在本例中,笔者将给大家介绍一种更简单和直观的处理方法.【编程分析】汉诺塔游戏的主要目的是借助B区域,将A区域的五只盘子转移到C

在窗体中做一个文本框,并设置其MultyLine 属性为 True.以下是代码:Dim s As IntegerPrivate Sub Command1_Click() Dim n As Integer n = CInt(InputBox("N=")) Call Hanoi(n, "A", "B", "C") End SubPublic Sub Hanoi(n As Integer, a

'List1,Command1Private Sub hanoi(n As Integer, one As String, two As String, three As String) If n = 1 Then List1.AddItem one & "-->" & three Else Call hanoi(n - 1, one, three, two) List1.AddItem one & "-->" & three Call hanoi(n - 1, two, one,

以下是5个盘子的汉诺塔程序,用的是递归算法:#include#includeusing namespace std;ofstream fout("Honnoi.txt");int num=1;//记录步数void Move(int n,char x,char y){ fout< cout< ++num;}void Hannoi(int n,char A,char C,char B){ if(n==1) Move(

#include#include "stdlib. h"int z=0;void hanoi(int n,char A,char B,char C) { if(n==1 printf("请输入数字n以解决n阶汉诺塔问题: "); scanf("%d",&n); hanoi(n,'A','

汉诺塔的盘子大小不一样总不能用image一个个拖吧 要是写纯语言的vb干脆不如用c#

网站首页 | 网站地图
All rights reserved Powered by www.mwfd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com