中缀表达式求值问题 中缀表达式的求值问题是一个比较常见的问题之…
分类:经典算法问题
【河内之塔(汉诺塔)】
/* 说明: 河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内之塔为越战时北越的首都 ,即现在的胡志明市;1883年法国数学家Edouar Lucas曾提及…
【费式数列(Fibonacci数列)】
/* 说明: Fibonacci为1200年代的欧洲数学家,在他的着作中曾经提到:若有一只兔子每个月生一只小兔子,一个月后也开 始生产。起初只有一只兔子,一个月后就有两只兔子,二个月后就有三只兔子,三个月后有五只兔子(小…
【帕斯卡三角形(杨辉三角)】
/* 帕斯卡三角形 杨辉三角,又名 贾宪三角形 */ #include <stdio.h> #define N 12 long combi(int n, int r) { int i; long p = 1;…
【大整数四则运算】
定义并实现超长整数类double long,要求如下: 64位数据长度,有符号 支持+、-、*、/运算 支持+=、-=、/=运算 支持cin>>和cout<<操作 &n…
【三色旗】
/* 三色旗 说明: 三色旗的问题最早由E.W.Dijkstra所提出,他所使用的用语为Dutch Nation Flag(Dijkstra为荷兰人),而大多数 的作者则使用Three-Color Flag来称之。 假设…
【老鼠走迷宫一】
/* 老鼠走迷宫一 说明: 老鼠走迷宫是递回求解的基本题型,我们在二维阵列中使用2表示迷宫墙壁,使用1表示老鼠行走的路径,试以程 式求出由入口至出口的路径。 解法: 老鼠的走法有上,下,左,右四个方向,在每前进一格之后就…
【骑士走棋盘】
/* 骑士走棋盘 说明: 骑士旅游Knight tour在十八世纪初倍受数学家与拼图迷的注意,它什么时候被提出已不可考,骑士的走法为西洋 棋的走法,骑士可以由任一个位置出发,它要如何走完所有的位置。 解法: 骑士的走法,…
【八皇后问题】
/* 八皇后问题 说明: 西洋棋中的皇后可以直接前进,吃掉遇到的所有棋子,如果棋盘上有八个皇后,则这八个皇后如何相安无事的放置在棋盘上, 1970年与1971年,E.W.Dijkstra与N.Wirth曾经用这个问题来讲…
【八枚银币】
/* 八枚银币 说明: 现有八枚银币a, b, c, d, e, f, g, h,已知其中一枚是假币,其重量不同于真币,但不知是较轻或较重,如何使用天平以最少 的比较次数,决定出哪枚是假币,并得知假币比真币较轻或较重。 …
【生命游戏】
/* 生命游戏 说明: 生命游戏(game of life)为1970年由英国数学家J.H.Conway所提出来,某一细胞的邻居包括上,下,左,右,左上,左下, 右上,右下相邻之细胞。游戏规则如下: 孤单死亡:如果细胞的…
【二色汉诺塔 】
/* 二色汉诺塔 */ #include <stdio.h> void hanoi(int disks, char sources, char temp, char target) { if(disks ==…