利用Excel巧解魔方

巧用Excel 解魔方阵难题
马致明
新疆师范大学数理信息学院 830054
(软件报、2004年第42期)
一、前言
魔方阵是一个非常有趣的数学问题,是指由自然数1~N 2(N 为奇数)构成的方阵,其各行、各列以及对角线元素之和均相等(如下图所示)。

魔方阵的数学排列算法很复杂,若不懂得排列规律,很难排出魔方阵!本文不仅介绍了一种简单的排列方法,而且还巧用Excel 中的单元格和宏代码的结合将其排列过程动态地呈显出来(速度由用户自己控制),呈现出来之后还可借助Excel 中的求和函数对各行、各列进行求和验证。

更不可思议的是宏代码只有25行,简练程度胜过任何编程工具!
3阶魔方阵
二、算法简介
先将所有单元格清空,读取阶数N 之后把1放入第一行的最中间一列,此后依次寻找2到N 2这些数放入的位置,基本算法是:下一个数放在前一个数的上一行的下一列(第一行的上一行是最后一行,最后一列的下一列是第一列);如果此位置已被占用(单元格的内容非空),则将它放在前一个数的下面。

注:任一单元格(H 行L 列)的地址可表示为Chr(L+64) & H ,其中Chr 是取字符的函数。

三、用Excel 实现的方法
1.界面设计
启动Excel ,通过“视图”菜单打开“窗体”工具栏,在第一行添加一个按钮控件,并在弹出的对话框中单击“新建”按钮,进入宏代码编辑窗口。

2.录制宏
在宏代码编辑窗口中输入以下代码:
Sub 按钮1_单击( )
N = Val(InputBox("奇数:3…25", "阶数", 3))
If N Mod 2 = 0 Or N < 3 Or N > 25 Then Exit Sub
T = Val(InputBox("单位:秒", "总时间", 5))
Columns("A:IV").Select
Selection.ClearContents
H = 1: L = (N + 1) / 2
Range(Chr(L + 64) & H + 2) = 1
Range(Chr(L + 64) & H + 2).Select
Range(Chr(L + 64) & H + 1) = N & "阶魔方阵"
For S = 2 To N * N
t1 = Timer
5阶魔方阵
Do
Loop While Timer - t1 < T / N ^ 2
H = H - 1: L = L + 1
If H < 1 And L > N Then H = 2: L = N
If H < 1 Then H = N
If L > N Then L = 1
If Range(Chr(L + 64) & H + 2) <> "" Then
H = H + 2: L = L - 1
End If
Range(Chr(L + 64) & H + 2) = S
Range(Chr(L + 64) & H + 2).Select
Next S
End Sub
3、运行
关闭宏代码窗口,进入Excel后先单击任一单元格或按Esc键,以取消按钮的编辑状态;然后单击前面添加的按钮就可运行:在弹出的对话框中先输入要显示的魔方阵的阶数,然后输入显示整个魔方阵所用的时间;此后就可看到魔方阵中元素的动态排列过程。

感兴趣的读者可借助Excel提供的函数进行求和验证。

4、说明
如果将宏代码及界面保存成Excel文件,下次打开时将提示:该文件中包含宏,宏可能会携带病毒…等信息;自己编写的这段宏是安全的,选择“启用宏”即可。

本代码在Excel2000中运行通过。

合集下载

EXCEL怎么制作3D魔方图

EXCEL怎么制作3D魔方图

EXCEL怎么制作3D魔方图【特点】动态变化的3维立体效果【原理】1.利用照相机;2.三维旋转【制作技巧】Step1:准备数据。

打开Excel工作簿,在工作表的B3:B7单元格中依次输入“2013”、“奥迪”、“宝马”、“奔驰”、“宾利”,然后在C3:G3单元格中分别输入“北京”、“天津”、“上海”、“重庆”、“合计”,再选中C4:F7单元格,输入公式=RANDBETWEEN(1,100),然后按Ctrl+Enter,即可随机生成所需数据,最后选中C4:G8单元格,按Alt+=求和,得到第一张表如下图。

采取同样操作步骤,得到另外两张同样的表,将“2013”分别改为“2014”和“2015”,最终结果如下图。

Step2:整理数据。

上述数据分为“汽车品牌”、“年份”、“地区”三个维度,任意两个维度的数据均可做出一张汇总表。

选中I:M列单元格,将单元格的宽度设置为5,然后在I4:I7单元格中依次输入“奥迪”、“宝马”、“奔驰”、“宾利”,在J3:M3单元格中分别输入“北京”、“天津”、“上海”、“重庆”。

在J4单元格中输入公式=SUM(C4,C11,C18),然后向右和向下拖动复制公式,得到第一张视图表,然后给J5:M5单元格填充黄色背景,J4:J7单元格填充浅绿背景,结果如下图所示。

采取类似的操作方法,分别得到“按时间和地区划分”和“按产品和时间划分”的两张视图表,结果如下:Step3:化表为图。

选中I4:M7单元格,然后粘贴为连接的图片(也可以选中表格,再选择工具栏里的照相机),按F9键刷新表格,则图中的数据也会发生相应的变化,如下图。

采取同样的操作方式,将其余两张表格均粘贴为连接的图片,注意第二张表格的带上地区走位表头,第三张表格只粘贴数据,不粘贴表头,三张表格粘贴为图片的最终结果如下。

Step4:旋转图片。

选中第1张图,右键选择设置图片格式,在三维选择效果里面设置X、Y、Z旋转分别为45°、35°、0°,第2张图的X、Y、Z旋转分别为314°、35°、300°,第3张图的X、Y、Z旋转分别为315°、35°、0°。

无需下载软件的魔方破解方案

无需下载软件的魔方破解方案

无需下载软件的魔方破解方案首先,破解魔方,我们就要先了解它的结构,魔方共6色6面,每面又分为中央块(最中间的块6个)、角块(4角的块8个)和边块(4条边中间的块12个)。

其中中央块只有1个面,他们是固定的结构,所以中央是红色的块,那么其他的红色都要向这个面集中。

而且红色的中央块对面永远是橙色中央块(国际标准是这么规定的)。

而边块有2个面2个颜色,角块则有3个面3个颜色。

接下来我们将每个面都用字母代表,然后破解功略里会用字母来说明要转动的1层或1面,以及方向,例如:R(代表右面顺时针转90度),R(代表右面逆时针转90度),R2(代表右面顺时针转2次90度)。

最后要说明的是:每面的名称是相对的。

例如:F是前面,就是手拿魔方时面向自己的一面,若把模仿旋转到另一面,那么就有新的一面成为前面。

好了下面就让我们尝试下7步将魔方还原吧。

1、先将中间是白色块的一面(有个rubbish logo的那块)对着上面,然后在顶部做出白十字,就是其他颜色的块都到相应的位置。

2、然后是将白色的角块归位。

3、然后让中层边块归位。

把白色面转向下,找出红绿边块,若红绿边块在顶层则按顺时针方向转动顶层,直到边块与图上的1个情况相同,在按照口诀转动魔方,使边块归位。

若红绿边块在中间某层,但位置错误或颜色错误,则先使红绿边块在右前方的位置,再重新按照下面其中一个次序旋转1次。

4、然后将顶层(应该是黄色)边块调整向上,做出黄十字。

若按照口诀转动1次后,顶层仍未出现黄色十字,可重复按口诀转动,直到黄色十字出现为止。

5、然后将黄色角块调整到十字周围,有点难度,看口诀提示吧。

6、通常这时候黄色块,和侧面的颜色会有错位产生,根据口诀(我还没吃透)将四角的黄色块定位。

7、最后将边上的色块再调整到对应的位置。

魔方最快还原方法

魔方最快还原方法

魔方最快还原方法魔方,又称魔方立方体,是一种受欢迎的益智玩具,也是一项极具挑战性的游戏。

魔方的还原过程一直是困扰着许多玩家的难题,而在众多的还原方法中,有一种被认为是最快的还原方法,即CFOP法。

本文将介绍CFOP法的具体步骤和技巧,希望能够帮助到正在学习魔方还原的玩家。

首先,CFOP法是一种基于公式的还原方法,全称为Cross-F2L-OLL-PLL。

其基本思想是将还原过程分为四个步骤,先交叉还原底面,再还原第二层,接着还原顶面的所有棱块,最后还原顶面的所有角块。

下面我们将依次介绍每个步骤的具体操作。

第一步,交叉还原底面(Cross)。

在这一步中,我们需要将底面的中心块以及与中心块相邻的四个边块组成一个十字形。

这一步需要依靠一些基本的公式和技巧,例如F公式、R公式等。

在实际操作中,可以通过多次练习来提高还原的速度和准确度。

第二步,还原第二层(F2L)。

在这一步中,我们需要将四个角块和四个棱块填入第二层的位置,使得第二层完全还原。

这一步需要一定的观察和推理能力,可以通过多观察魔方的状态来找到最优的还原方法。

第三步,还原顶面的所有棱块(OLL)。

在这一步中,我们需要将顶面的所有棱块还原到正确的位置,形成一个完整的面。

这一步需要掌握一系列的公式和技巧,例如OLL公式、手速和手法等,可以通过多练习来提高还原的速度和准确度。

第四步,还原顶面的所有角块(PLL)。

在这一步中,我们需要将顶面的所有角块还原到正确的位置,使得整个魔方完全还原。

这一步同样需要掌握一系列的公式和技巧,例如PLL公式、手速和手法等,可以通过多练习来提高还原的速度和准确度。

总的来说,CFOP法是一种高效的魔方还原方法,但需要玩家具备一定的基本功和技巧。

在学习和使用CFOP法的过程中,玩家需要多加练习,不断提高自己的观察力、推理能力和手法技巧,才能够在短时间内完成魔方的还原。

希望本文介绍的CFOP法能够帮助到正在学习魔方还原的玩家,让大家能够更快地掌握这一技巧,享受到魔方带来的乐趣。

CFOP9个公式中文版

CFOP9个公式中文版

CFOP9个公式中文版CFOP(Cross-F2L-OLL-PLL)是一种魔方还原的解法方法。

在这个方法中,我们将魔方还原过程分为四个步骤:Cross(十字)、F2L(前两层)、OLL(顶层角块定位)和PLL(顶层角块调整)。

以下是CFOP方法中的119个公式的中文版。

1.十字十字型F’UL’U’RULU’R’(棱位错)RUR’U’(角块右移)R’U’RU(角块左移)2.十字角块定位U2RU’R’U’F’UF(对角块顺时针旋转)U2L’ULUFU’F’(对角块逆时针旋转)RUR’URU2R’(一个角块在顶面)L’U’LU’L’U2L(一个角块在顶面)3.十字棱块调整FRUR’U’F’(两棱块在右侧)F’L’U’LUF(两棱块在左侧)RUR’F’U’FRUR’(两棱块在前方)L’U’LFUF’L’U’L(两棱块在后方)4.第一层角块定位zD’FRF’R’Dz’(不在DF位,另一角块已在定位)z’DR’F’RFD’z(不在DR位,另一角块已在定位)5.第一层棱块定位FRUR’U’F’(直角块左右两个角块已在顶面)RUR’U’R’FRF’(没有直角块)6.第一层角块调整使用以下公式的方式将角块调整到正确的位置。

7.顶层棱块定位FRUR’U’F’(两棱块已配对)URU’R’U’F’UF(棱块在顶面,需要旋转)UF’U’FRUR’(棱块在顶面,不需要旋转)8.顶层角块定位RUR’URU2R’(一个角块在右上角)URU’L’UR’U’L(一个角块在左上角)9.顶层棱块调整RUR’U’R’FRF’(两棱块对换)L’URU’LUR’U’(两棱块旋转)10.顶层角块调整RUR’U’R’FR2U’R’U’RUR’F’(一个角块已调整好,一个角块不需要调整)RUR’URU2R’FRUR’U’F’(两个角块都不需要调整)11.完成魔方运用以下公式完成最后的魔方还原:DR’U2RD’R’U2R(交换角块位置)L’U2LULF’L’F(交换棱块位置)RU’RURURU’R’U’R2(旋转两个角块)R2U’RURUR’U’R’U2R’(旋转四个角块)RUR’U’y’R’U’R(旋转三个角块)RU2R’U2R’U’RU’R’U2RUR’(旋转两个角块)以上是CFOP方法中的119个公式的中文版。

数字魔方破解

数字魔方破解

数字魔方破解数字魔方是一种备受欢迎的智力玩具,以其独特的设计和挑战性的解谜游戏而闻名。

它由三个面组成,每个面都有三列(从左到右)和三行(从上到下)的方格。

现在,我将向您介绍一种破解数字魔方的方法,帮助您更好地理解和解决这个谜题。

为了更好地解释这种破解方法,让我们把每个面的九个小方块编号为1到9,按照从左到右、从上到下的顺序。

我们的目标是将数字魔方的所有面上的数字排列成正确的顺序,这意味着每个面都必须是从1到9的连续数列。

步骤一:解决第一层的中心方块数字魔方的第一层中心方块是不会移动的,所以我们可以先把它们放在正确的位置上。

确保每个中心方块与其相邻的边方块颜色相匹配。

步骤二:解决第一层的边方块接下来,我们将关注第一层的边方块。

我们需要将它们放置在相邻的中心方块旁边,并确保颜色匹配。

要做到这一点,我们可以通过以下的方法来移动边方块:- 把边方块移动到相应目标位置的前面或后面。

- 通过顺时针或逆时针旋转相应的面来移动边方块。

- 当边方块移动到正确的位置时,将其与中心方块配对,使得颜色匹配。

重复这一步骤,直到第一层的边方块全部放置正确为止。

步骤三:解决第一层的角方块在这一步,我们需要将第一层的角方块放到它们的正确位置。

我们可以通过如下的方法来移动角方块:- 把角方块移动到相应目标位置的前面或后面。

- 通过顺时针或逆时针旋转相应的面来移动角方块。

当角方块被移动到正确的位置时,对准其相应的中心方块,使得颜色匹配。

重复这一步骤,直到第一层的角方块全部放置正确为止。

步骤四:解决第二层的边方块正确解决第二层的边方块是下一步的目标。

为了完成这一步,我们可以使用以下步骤:- 将第二层的边方块移动到相应目标位置的前面或后面。

- 通过顺时针或逆时针旋转相应的面来移动边方块。

- 当边方块被移动到正确的位置时,将其与相应的中心方块配对,使颜色匹配。

重复这一步骤,直到第二层的边方块全部放置正确为止。

步骤五:解决最后一层的边方块现在,我们的目标是解决最后一层的边方块。

魔方20秒快速法入门解法及16个公式

魔方20秒快速法入门解法及16个公式

20秒魔方快速入门解法我的魔方解法----简化的CFOP法魔方快速还原方法中Fridrich的CFOP (Cross+F2L+OLL+PLL魔方吧叫“20秒还原法”)法是很主流的方法,还原速度很快但是有100多个公式要掌握。

通过在“魔方吧”的学习,我整理出一个简化的CFOP 方法,这样只需记15个公式就可实现较快的还原魔方。

要更快一点,就再多记1个架“十”字公式,本法推荐记16个公式(教程中红色显示)。

这比起完整CFOP的(41+57+21=119)个公式来说已大大减轻了负担,本法是一种“中级”的魔方解法,不太适合初学者(初学者还是推荐最简单、公式最少的基本层先法)和只想学会还原的朋友。

主要适合学习对象为:1)不愿意记非常多的公式又想还原得快一点的朋友;2)完整CFOP方法的初学者。

此法可作为Fridrich方法(CFOP)的入门教程。

一、技术路线第一、二层采用基本层先的方法(第二层3个公式),第三层采用CFOP法的棱和角一起翻色(此时采用先架棱“十”字,再后用7个OLL公式来完成顶面翻色),然后调棱位置,再调角位置(由于是简化所以不能同时调角和棱的位置),其实就就是把PLL的角和棱分开来完成。

二、具体步骤1、第一层现在的目标是在顶上完成第一层(顶层),用架好棱十字(要求顶层四棱的相对位置正确,也就是棱块的侧面色要和对应魔方面的中心块的颜色相同如图1)再对好四角的方法。

此步的小技巧是:可以将目标棱块和对应的中心块并到一起后再参加架“十”字。

加好顶棱十字后再对好四个角(位置和色向都要对)详细方法可见魔方吧“笑面虎”方法中的内容,因为简单可以自己想出来不再多说了。

这时就完在了一层。

图2图1图2附1:架“十”字另一方法是先将四个目标棱块都转上去架起“十”字,再来调节它们的相对位置,这时要用到两个公式中的一个:1、相对棱对调R’L U2 R L’2、相邻棱对调R’U’R U R’2、第二层由于中心块已固定,所以第二层只有四个棱块没解决了,现在就来解决它。

魔方最快还原法公式

魔方最快还原法公式嘿,朋友们!说起魔方,那可是个让人又爱又恨的小玩意儿。

我记得有一次,我在公园里看到一群小朋友围在一起,叽叽喳喳的,好不热闹。

我凑近一瞧,原来是有个小男孩在还原魔方,那手法虽说不上熟练,但能看出来他很努力,周围的小朋友们眼睛都直勾勾地盯着,满脸的期待。

咱们今天就来聊聊魔方最快还原法的公式。

首先,得给大家讲讲魔方的基本结构。

魔方有六个面,每个面由九个小方块组成,一共三层。

要想快速还原,就得先熟悉一些基本的公式和手法。

咱们先从底层开始。

底层的还原相对简单,记住一个公式:“右下、下右、右上、下右、右下、下 180 度、右上”。

这个公式能帮助咱们把底层的四个角块归位。

比如说,当你发现底层的一个角块位置不对时,就可以用这个公式把它调整好。

接着是中层。

中层的还原公式是:“上左、右上、上右、右下、上右、右上 180 度、右下”。

这个公式可以把中层的棱块归位。

然后是顶层。

顶层的还原就稍微复杂点啦。

先做一个“十字”,公式是“前右、上左、前左、上右”。

做完十字后,咱们再调整角块的位置,公式是“右上、后右、右上、前 180 度、右下、后左、右上、前 180 度、右下、右下”。

再来说说调整顶层角块的方向,公式是“右上、上左、右上、上左、右上、上左、上左、右上、右上、上左、上左、右上”。

最后是调整顶层棱块的位置,公式是“右下、上右、右上、上右、右下、上 180 度、右上”。

不过啊,光记住这些公式可不行,得多练习。

就像我之前看到的那个小男孩,他一开始也是手忙脚乱的,但是他不放弃,一直拿着魔方琢磨,练了好久。

我在旁边看着,心里还挺佩服他这股子劲儿。

其实,玩魔方不仅仅是为了快速还原,更重要的是在这个过程中锻炼咱们的空间想象力、手眼协调能力和耐心。

刚开始可能会觉得很难,但是只要坚持下去,慢慢地就能找到感觉。

就像生活中的很多事情一样,一开始觉得不可能,但是只要努力,总会有突破的那一天。

朋友们,拿起你们的魔方,按照这些公式好好练练吧,相信你们都能成为魔方高手!。

cfop三阶魔方速拧公式oll

cfop三阶魔方速拧公式ollCFOP三阶魔方是一种常见的解魔方方法,其全称为Cross (底面十字)、F2L (面边复合)、OLL (顶面层面整理)、PLL (顶面层角块归位)。

其中OLL (Orientation of the Last Layer)是指顶面层面整理的步骤,以下是一些常见的OLL公式,共计超过1200字。

1.OLL1RU2R'U'RW'R'U2RW执行此公式后,可以将魔方顶面的边块全部正确朝向。

2.OLL2rU2R'U'RW'R'U2r'W这个公式可以实现将魔方底面的一个棱块转移到顶面,并且保证其正确朝向。

3.OLL3F(RUR'U')F'执行此公式之后,可以将魔方顶面的一个角块移到底面,并保持其正确朝向。

4.OLL4(RUR'U')(R'FRF')这个公式可以将魔方顶面的两个角块移到底面,并且保持其正确朝向。

5.OLL5(RUR'U')(RU2R'U')(RUR')执行此公式之后,可以将魔方顶面的一个棱块移到底面,并保持其正确朝向。

6.OLL6(RUR'U')y'(R'FRF')这个公式可以将魔方顶面的两个棱块移到底面,并且保持其正确朝向。

7.OLL7(RUR'U')R'FR(U2R'U'F')执行此公式后,可以将魔方顶面的两个角块移到底面,并且保持其正确朝向。

8.OLL8(L'U'LU)(LU2L'U')(L'UL)这个公式可以将魔方顶面的两个角块移动到正确的位置,并且保持其正确朝向。

9.OLL9(r'UR'U')(rUR)执行此公式后,可以将魔方顶面的两个棱块移动到正确的位置,并且保持其正确朝向。

excel数独问题的模型

excel数独问题的模型
1. 创建一个9x9的Excel表格来表示数独棋盘,每个单元格中的数字表示对应位置上的数值。

2. 在每个单元格上设置数据验证规则,确保只能输入1到9之间的整数。

3. 创建一个宏来解决数独问题,从左上角开始遍历表格,寻找第一个空白单元格。

4. 对于每个空白单元格,尝试填入1到9之间的数字,检查是否满足数独的规则:
- 每一行中的数字不能重复;
- 每一列中的数字不能重复;
- 每个小九宫格中的数字不能重复。

5. 如果填入的数字满足上述规则,则进入下一个空白单元格,重复步骤4。

如果填入的数字不满足规则,则尝试下一个数字。

6. 如果找不到合适的数字填入当前位置,则回溯到上一个位置,尝试其他数字。

7. 当遍历完整个棋盘时,即找到了一个解决方案,将结果显示在Excel表格中。

8. 如果想要找到所有的解决方案,可以通过改变回溯的条件来实现。

巧用Excel解魔方阵难题


个 简 要 的证 明 。
魔 方 阵是 一 个 非 常 有 趣 的数 学 问题 , 指 由 自然数 1 N 是 一 z ( 为 奇数 ) 成 的 方 阵 , 各 行 、 列 。 N 构 其 各 以及 对 角 线 元 素 之 和 均 相 等 ( 下 图所 示 ) 魔 方 阵 的 数 学排 列算 法 很 复 杂 , 不 懂 得 如 。 若 排 列 规 律 . 难 排 出魔 方 阵 。 者 在 此 介 绍 一种 简单 的排 列 方 很 笔 法 . 巧 用 E cl 并 xe中的 单 元 格 和 宏 代 码 的 结 合 将 其 排 列 过 程 动 态 地 呈 显 出 来 ( 度 由 用 户 自己 控 制 )呈 现 出 来 之 后 可 借 助 速 , E cl 的求 和 函数 对 各 行 、 列 进 行 求 和 验 证 。 更 不 可 思 议 xe中 各 的是 宏 代 码 只有 2 行 . 练 程度 胜 过 任 何 编 程 工 具 。 5 简
F r = oN o S 2 T N
t = me l Ti r Do
I 叩 Whi i r t < N ̄ J 0 l T me - l T/ 2 e H= H一 : L 1 1 + ⅡH< d L N h n H= L N IAn > T e 2: =
4 说 明 .
、
如果 将 宏 代 码 及 界 面 保 存 成E cl 件 .下 次 打 开 时 将 提 xe 文 示 : 文件 中包 含 宏 。 可 能 会 携 带 病 毒 等 信 息 。 自己编 写 的 该 宏 这段 宏 是 安 全 的 , 择 “ 用 宏 ” 可 。本 代 码 在 E cl 00 选 启 即 x e2 0 和 E cl 0 3 x e2 0 中运 行 通 过 。
20f 3 ̄( g) 订 周 09- 1  ̄ -号_ -g 刊
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档