梵塔问题

'====================================

我的和讯http://hexun.com/haoguoying
我的百度http://hi.baidu.com/haoguoying/home

'====================================

 

 

以下是自己以前写的vb 读写操作xml 完正的类模块,
我的和讯http://hexun.com/haoguoying
我的百度http://hi.baidu.com/haoguoying/home

这道谜题是众所周知的梵塔问题(①译者注:梵塔问题源于有关“世界末日”的古老传说:在世界中心贝那勒斯(印度北部的佛教圣地)的圣庙里,安放着一块黄铜板,板上插着三根宝针,细如韭叶,高约腕尺.梵天在创造世界的时候,在其中的一根针上,从下到上串上由大到小的64片金片.这就是所谓梵塔.当时梵天授言:不论黑夜白天,都要有一个值班的僧侣,按照梵天不渝的法则,把这些金片在三根针上移来移去,一次只能移一片,并且要求不管在哪根针上,小片永远在大片上面.当所有的64片,都从梵天创造世界时所放的那根针,移到另外一根针上时,世界就将在一声霹雳中消灭.梵塔、庙宇和众生,都将同归于尽!这,便是世界的末日…… )的一种改头换面.

 


据说在东方的古国──印度土地上,有一座印度教的神庙,这庙有一块黄铜板,板上插著三根细细的、镶上宝石的细针,细针像菜叶般粗,而高就像成人由手腕到肘关节的长。

当印度教的主神梵天在创造地球这个世界时,就在其中的一根针上从下到上放了半径由大到小的六十四片圆金片环,这就是有名的「梵塔」或称「汉内塔」(Towers of Hanoi)。

天神梵天要这庙的僧侣,把这些金片全部由一根针移到另外一根指定的针上,一次只能移一片,不管在什么情况下,金片环的大小次序不能变更,小金片环永远只能放在大金片环上面。

只要有一天这六十四片的金环能从指定的针上完全转移到另外指定的针上,世界末日就来到,芸芸众生、神庙一切都将消灭,万物尽入极乐世界去。

n阶梵塔移动次数:设金片数为n,则移动次数=2的n次方-1

/* Copyrighter by SS7E */
#include<stdio.h>   /* Copyrighter by SS7E */
void hanoi(int n,char A,char B,char C) /* Copyrighter by SS7E */
{
if(n==1)
{
  printf("Move disk %d from %c to %c/n",n,A,C);
}
else
{
  hanoi(n-1,A,C,B); /* Copyrighter by SS7E */
  printf("Move disk %d from %c to %c/n",n,A,C);
  hanoi(n-1,B,A,C); /* Copyrighter by SS7E */
}
}
main() /* Copyrighter by SS7E */
{
int n;
printf("请输入数字n以解决n阶汉诺塔问题:/n");
scanf("%d",&n);
hanoi(n,'A','B','C');
}/* Copyrighter by SS7E */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值