【七阶立方】
在 2018 年《最强大脑之燃烧吧大脑》节目中,来自清华大学的杨易和来自北京大学的刘宇进行了个人淘汰赛,两个人所要挑战的项目是“七阶立方密码”。
七阶立方是由 343 个立方格组成,表面 218 加上内部的 125 个立方格。嘉宾出题则是要选择两面,并选择两个质数隐藏,而后系统会随机选择五个立方格将质数隐藏,这七个质数两两连线,并且有两个直线互相垂直,并且相交就是选手需要找到的宝藏的点。
最主要的是在 343 个立方格中,存在着很多干扰数字,这些都是非质数,因为此需要选手通过心算进行排除。并且在选手知道了七个质数之后,立方就会展开,不是立体的图形而是一个正方形的平面,这也就意味着选手需要空间想象力,来推测谁和谁是垂直并且相交。
已知节目组中所使用的七阶立方的六个面的数据分别如下所示:
A面
B面
C面
D面
E面
F面
1. 请你使用 Numpy 库中的 array 函数,创建 A、B、C、D、E 和 F 六个面的二维数组。
2. 已知七阶立方的六个面均为二维数组,请你使用 Python 编程,使用 range 或者 arange函数,结合 for 循环结构,分别找出 A、B、C、D、E 和 F 六个面的所有质数,并将其连同所属的面一起在屏幕中输出来。
只有得到如下结果,程序才是完全正确。
A 619
B 569
B 349
C 857
D 827
D 727
E 569
E 463
3. 请你使用 Python 编程,分别找出 A、B、C、D、E 和 F 六个面的所有质数,然后将属于同一个面上的质数合并,用逗号隔开,并将其连同所属的面一起输出。只有得到如下结果,程序才完全正确。
A [619]
B [569, 349]
C [857]
D [827, 727]
E [569, 463]
F []
4. 请你使用 Python 编程,分别找出 A、B、C、D、E 和 F 六个面的所有质数,然后分别找出这些质数在每个二维数组中的位置,并将其连同所属的面一起在屏幕中输出来。只有得到如下结果,程序才完全正确。
A 619 [[1 1]]
B 569 [[0 5]]
B 349 [[5 2]]
C 857 [[3 3]]
D 827 [[2 3]]
D 727 [[5 1]]
E 569 [[1 6]]
E 463 [[3 3]]
5. 在4 的基础上,请你使用 Python 编程,分别找出 A、B、C、D、E 和 F 六个面的所有质数,并将其连同所属的面一起输出。然后汇总所有的质数,删除重复的质数,并且统计出不重复的质数的个数,最后一起输出来。只有得到如下结果,程序才完全正确。
A 619 [[1 1]]
B 569 [[0 5]]
B 349 [[5 2]]
C 857 [[3 3]]
D 827 [[2 3]]
D 727 [[5 1]]
E 569 [[1 6]]
E 463 [[3 3]]
[349 463 569 619 727 827 857] 7
6. 以七阶立方的三条棱边为 x、y、z 轴,建立三维直角坐标系,可以得到 7 个质数的坐标,分别是:A619(2,1,6),B569(7,6,7),B349(7,3,2),C857(3,7,4),D827(1,4,5),D727(1,6,2),E463(4,4,7),这七个质数两两连线,并且有两个直线互相垂直,请你使用 Python 编程,得到这七个质数两两连线的所有向量,输出所有不重复的向量,向量个数,并且输出每个向量是由哪两个点连线所得的。只有得到如下结果,程序才是完全正确。
1[-5 -5 -1] ('A619', 'B569')
2[-5-2 4] ('A619', 'B349')
3[-1-6 2] ('A619', 'C857')
4[1-3 1] ('A619', 'D827')
5[1-5 4] ('A619', 'D727')
6 [-2 -3 -1] ('A619', 'E463')
7 [0 3 5] ('B569', 'B349')
8 [ 4 -1 3] ('B569', 'C857')
9 [6 2 2] ('B569', 'D827')
10 [6 0 5] ('B569', 'D727')
11 [3 2 0] ('B569', 'E463')
12 [ 4 -4 -2] ('B349', 'C857')
13 [ 6 -1 -3] ('B349', 'D827')
14 [ 6 -3 0] ('B349', 'D727')
15 [ 3 -1 -5] ('B349', 'E463')
16 [2 3 -1] ('C857', 'D827')
17 [2 1 2] ('C857', 'D727')
18 [-1 3 -3] ('C857', 'E463')
19 [ 0 -2 3] ('D827', 'D727')
20 [-3 0 -2] ('D827', 'E463')
21 [-3 2 -5] ('D727', 'E463')
7. 在 6 的基础上,七个质数两两连线,并且有两个直线互相垂直,请你使用 Python 编程,找出所有互相垂直的两条向量,并输出它们分别对应 21 条向量中的哪条向量。只有得到如下结果,程序才完全正确。
[ 4 -4 -2] [2 1 2] (12, 17)
[6-1-3][-1 3-3](13,18)
8. 在 6 的基础上,七个质数两两连线,并且有两个直线互相垂直,相交就是最强大脑节目中选手需要找到的宝藏的点。请你使用 Python 编程,找出藏宝点的三维坐标。只有得到如下结果,程序才完全正确。
(4,5,6)
你可以用编程攻克七阶立方密码吗?想获得本题目的Python编程源码吗?
获得程序源码活动
1、分享本文分享至朋友圈,并配分享分案“我可以用不到一分钟的时间攻克最强大脑七阶立方密码项目”
2、将30分钟后的分享截图发送到本公众号(必须可以看到时间,分组无效)
3、24小时之内获得程序答案
本题目是《Python基础入门到数据挖掘实战》课程的课后习题,老师会对题目进行详细的讲解和说明。活学活用才是学习的最终目标,一味地照本宣科达不到扩展思维的作用,极值学院Python课程都是老师从项目和生活中提炼的题目。
添加助教老师微信咨询课程
领取专属 10元无门槛券
私享最新 技术干货