Python编程攻克最强大脑“七阶立方密码”项目

【七阶立方】

在 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课程都是老师从项目和生活中提炼的题目。

添加助教老师微信咨询课程

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180227G00HMM00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券