Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

fengqun117/Funny-Math-Problem-by-Python3

Open more actions menu
 
 

Repository files navigation

Funny-Math-Problem-by-Python3

基于Python3的趣味数学问题解决方案

Pro1. 数独 (Sudoku)

根据九宫格盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个宫(3*3)内的数字均含1—9这9个数字。

Pro2. 幻方 (Magic Square)

幻方又称为魔方,方阵或厅平方。通常幻方由从1到n2 的连续整数组成,其中n为正方形的行或列的数目。将数填在纵横格数都相等的正方形图内,使得每一行、每一列和每一条对角线上的各个数之和都相等。

Pro3. 24点 (24 Point)

把4个整数通过加、减、乘、除以及括号运算,使最后的计算结果是24的一个数学游戏。

Pro4. 汉诺塔 (Tower of Hanoi)

法国数学家爱德华·卢卡斯曾编写过一个关于印度的古老传说:在世界中心贝拿勒斯的圣庙里,一块黄铜板上插着三根宝石针,印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。这就是汉诺塔问题。

Pro5. N皇后 (N Queens)

八皇后问题,是一个古老而著名的问题,是利用回溯算法求解的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处同一行、同一列或同一斜线上,问有多少种摆法。之后陆续有许多数学家对其进行研究,其中包括高斯和康托,并且将其推广为N皇后问题。

Pro6. 彩票号码优选方案 (Lottery Number)

彩票号码优选方案。双色球、大乐透号码的优选方案。

Pro7. 完美迷宫 (Perfect Maze)

所谓完美迷宫,就是没有回路,没有不可达区域的迷宫,并且迷宫中任意两个网格间都有唯一的路径。利用Prim算法,分别采取遍历墙和遍历网格的方法,动态展示迷宫的生成。并且利用A*算法获得从入口到出口的最佳路径,并在迷宫中展示出来。

Pro8. 凸包 (Convex Hull)

下面用比较通俗的方式,介绍下凸包:在一个二维坐标平面中,散列着一些点,将最外层的点连接起来构成的凸多边型,它能包含散列的所有的点,这个多边形就是这些点构成的点集的凸包。利用Graham Scan算法获得凸包(平面凸包),并动态展示凸包的形成过程。

Pro9. 一笔画完 (One Stroke)

从起始网格开始,用一笔划过所有可以走的节点,不能遗漏,也不能重复。利用DFS(深度优先搜索)和BFS(广度优先搜索)算法找到所有的路径,在寻找路径过程中添加了优化选择的函数,加速了计算过程。最总图示所有的解。涉及到的点有Python的尾递归优化以及基于多线程的计时器。

Pro10. 七桥 (Seven Bridge)

一笔划过图形中所有的边,边不能遗漏,同时也不能重复。利用欧拉定理以及Fleury(弗洛莱)算法解决。

扫描二维码,关注订阅号,获取谜题的详细解答,以及关于编程、机器学习等方面的文章。

image

About

基于Python3的趣味数学问题解决方案

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.