文档库 最新最全的文档下载
当前位置:文档库 › 魔方算法

魔方算法

魔方算法
魔方算法

三阶魔方入门玩法

首次分享者:已被分享5次评论(0)复制链接分享转载举报

其实关于魔方的教程本人于一年前亲手写过,如今又写了部详细版的。此玩法适合于拥有三阶魔方,想尽快学会能够自己复原魔方的刚入魔者。看了本文,你只要半天时间就能够学会入门玩法,在几回玩过后速度可达到3、4min 左右(另外有个好的魔方是速度快的一个重要条件),多练以后可达到 1min左右的。

在首先之前还要让你改变几个错误观点:

1.魔方不是一面一面拼的,这会被人笑话的。实际上入门玩法是一层层玩的。另外还有棱先法、角先法、桥式等等,但是二阶魔方有面先法的。

2.当你看到有人在玩二阶魔方时,不要认为这连幼儿园的人都会。其实你没学过三阶,自己也复原不了二阶魔方的。

3.当你看到有人在玩特殊的魔方时,最好不要随便帮他打乱,因为像SQ1、镜面等魔方,你自己一开始还不知该怎么转。

4.不要不懂装懂,这样有时会说出一些很天真的话。比如:我能够将三阶魔方复原5个面……

…………

首先要知道魔方的基本结构。魔方共有26个块:有8个角色块,12个棱色块,6个中心块,中心块相对位置永远不变。一般是蓝——绿红——桔白

——黄。魔方的品牌众多,质量好的有Rubik、奇积、国甲、国乙、国丙、全封闭、大雁、东贤等等,本人用的是国甲2手感不错。

接下来是学魔方重要的一项:公式符号

一定要认真记牢

U=上 D=下 R=右 L=左 F=前 B=后

以上面的标记为例,F就代表前面顺时针转90°,F'代表前面逆时针转90°,R2代表右面转180°,就这么简单,大家明白了吧。另外还有几个其他的符号是用于三阶高级玩法的,在此不做介绍。

现在开始真正进行三阶魔方入门法(层先法)教学。

1st 底棱归位

在第一面做一个十字。必须为:

这一步架顶层十字完全可以无师自通,只要自己多琢磨琢磨便可以。但是要注意的是除了十字拼好后,4个侧面的上棱块和中心块一定要同色。

2nd 底角归位

最终出现为:

此步就是将魔方的一层拼好,魔方的四个顶角归位后会出现T字型。这一步也只要自己琢磨一些技巧,便也可以无师自通来完成这一步。一般有两种普通情况:

公式一:R' D' R 公式二:F D F'

另外有四种情况,只要运用下面的公式便可出现以上两种情况。

F D2 F' D' F D F' D' R' D' R D F D F'

重复做四个角便可复原一层了。

3rd 中棱复位

注:从这步开始要将魔方倒着拿,这一步是将第二层所有的棱色块归为。最终变成:这样一来两层完成了!

这一步要记住两个公式:看起来很长其实很好记。

公式一:URU'R' U'F'UF 公式二:U'F'UF URU'R'

除此之外还会有一种特殊情况:

这个则需要公式一+U2+公式一

还有一种高级公式,想学会就从本人的QQ上问我吧。这涉及到了三阶魔方的CFOP 高级玩法。

4th 顶棱面位

就是在魔方的顶面做个十字变成:

这一步有个通用算法: R'U'F' UFR 分别需要运用

3次2次1

次0次

5th 顶角面位

翻转魔方顶面四角,对好顶面颜色,使之形成:

这步可能会出现7种情况:

对于情况1 方法为:R'U'RU' R'U2R

对于情况2 方法为:FUF'U FU2F'

对于情况3-7 请把魔方按照以下方位摆好

然后应用1算法,他就会变成情况1或者情况2了。当然我还有更快捷的方法,就从QQ上问我吧,或者看以后的高级玩法。

你就记住一句话"2后4左"。

a)先选一个顶面不是黄色的角块放在离你最远的左后角,

b)如果有2个黄色不在顶面(如上面3、4、5情况),你就让左后角的黄色冲后(上面的图都是已经摆好了),如果4个黄色都不在顶面(6和7情况),你就让

左后角的黄色冲左,然后都用小鱼1,3-7情况就会变成小鱼1或小鱼2了。如果还有疑问就请看看上面表格里的动画。

6th 顶角面位

调整四角顺序,使之形成:

这一步先观察同一侧面上的一条,两个颜色是否一致,如以下4种:对于这些情况就将这条边放在背面。

然后应用下面的算法:LF'LB2 L'FLB2 L2 (公式*)

如果找不到有两角同色的边,就使用公式*+U'+公式*

这样便可完成此步。

7th 顶棱归位(最后一步)

此步是将将最后的棱色块顺序排列好,马上就可将魔方完全复原咯!

第一种情况,你想让3个棱逆时针旋转。

首先你要把已经对好颜色的那条边放在前面。

再用5th的算法1+U2+算法2+U2

R'U'RU'R'U2R+U2+FUF'UFU2F'+U2

第二种情况,你想让3个棱顺时针旋转。

那么要把已经对好颜色的那条边放在右面。

所以就是5th的算法2+U2+算法1+U2

FUF'UFU2F'+U2+R'U'RU'R'U2R+U2

其实算法1、2中间的U2也可以换成旋转你的整个魔方180°,这样最后一个U2也不需要了。

如果你碰到了需要如上这样变的情况。其实很简单,你随便应用一遍上面顺时针或逆时针的算法,然后他就会变成顺时针或逆时针的情况了。当然对这4种情况我还有超级方便的公式,来问我即可。

任意奇数阶幻方的罗伯移步法

任意奇数阶幻方的罗伯移步法 学习心得 范贤荣2016.2.25 在学习幻方构成时,在网上看到了大多数幻友介绍的罗伯(loubere )法。读后,我有心得如下: 1、罗伯(loubere )法的确是最简单的任意奇数阶幻方的构成法。它只要一步一步 地填写就可以了。 2、有人称之为楼梯法。这也非常形象,体现了一步一步斜着向上的填写规律。因 此,我觉得以罗伯楼梯法谓之,倒是一个好办法,既尊敬了罗伯的创造,又形象地体现 了填写规律。但是,楼梯太实用了,就采用了浪漫点的移步二字,编写了本文的题目。 3、罗伯法的填写步骤,非常经典。关于“出格/出框”、“重复/遇阻”的规定,也往往还被其他方法所引用。 4、罗伯法的口诀,对“1 居上行正中央”的这种幻方,是很正确且准确的。但是,不知道这是不是罗伯老师的原话。我现在看到的都是幻友们的介绍。因此,就与幻友们讨 论一下: 这个口诀,只适用于“1 居上行正中央”的这种幻方。或者说“1居上行正中央”的这种幻方,只是罗伯幻方的一种。 罗伯幻方每一阶都有多种。幻方数与阶数相同。 因此,我建议在这口诀下面加一个注:“1 居上行正中央”只是罗伯幻方有代表性的一种。1 还可以在其他点格上。 5、1 还可以在那些点格上呢? 我们把方阵空格用(X,Y)即(行,列)表示。第一行,第三列表示为(1,3)

那么,各阶数方阵有几个幻方, 1 点在何处,可见下表: 我们还可以形象地用方阵的方式,直观地看到 1 的位置。 5 阶幻方的1 点在幻和为65 的格子内。 方法是: 1)与阶数一样,画出阶数方阵。例如, 5 阶 2)将该阶幻方的幻和填在方阵的“上行正中央”。例如5 阶幻和65。 3)在斜着把幻和,逐行向左移一位,填在各行。如下图 4)再利用罗伯法则,将出格的数移回来。就可以直观地看到 1 在那些点格了。5)顺便说说方阵中的其他数据是什么?从何而来?。这些数据都是一个不等于“幻和”的对角线之和。我是计算出来的,计算完5 阶,我就知道7 阶了。因此,就少画了许多方阵。

魔方还原步骤(带图解及公式修改过的)

三阶魔方入门玩法教程 下图是本教程介绍的三阶魔方入门的玩法(层先法)复原的基本步骤示意图: 第一步:底棱归位(又称底部架十字,底层四个棱块正确复原的过程) 注:(本教程以白色为底面,为了方便交流与学习,请统一把白色作为底面)。 魔方底层架十字可以无师自通,只是我们这一步要复原的四个 棱块的相对位置顺序要注意,由于我们以白色中心块做底层,按照 我们现在的主流魔方的贴纸的帖法(上黄下白,前蓝后緑,左橙右 红),如果我们先复原了白蓝这个棱块,那我们在保持白色中心块 在底部的情况下,白红的棱块就一点要放在白蓝棱块的右边,白橙棱块放在白蓝棱块的左边,白緑棱块放在白蓝棱块的对面,由于魔方的中心块不会发生变化,所以在原的过程中,我们是以中心块为参照物的,第一步我们在复原白蓝、白红、白绿、白橙这四个棱块的时候,我们可以先把白色面旋转到顶层,和黄色中心块同一个平面,然后再把他对应的另一个颜色(蓝或红或緑或橙)经过旋转最上层,使之和对应的中心块的颜色同色,这样我们再旋转180度,对应的棱块就正确复原到底部了。 注意:图1-1的情况是没有正确归位的情况,需要调整白蓝和白红两个棱块的位置,才是正确的完成了底棱归位 第二步:底角归位(复原魔方第一层四个角块) 魔方的四个底角正确归位以后一定会出现倒T字型,如图2所示,如果不是这样肯定是底面角块没有正确归位(位置错了,重新来过)。 底角归位也可无师自通,有兴致的朋友可以自己琢磨一些技巧和完成这一步。有难度的朋友可参考我下面介绍的一种技巧来完成,我们先看图2-1和图2-2,首先我们先确定目标块的位置是在他要正确归位的正上面的位置,然后我们再看白色的面朝向何方,就很快的能快速判断出来是下图几种情况中的哪一种了。 复原基本思想:先将目标角块调至顶层侧面,再转动能与之相连形成顺色整体的面,使目标角与底棱连成一个(1×1×2)的归位整体,再转至正确的位置。因此,下列的五个实例并没有必要当成公 图2-1 图2-2 图201 图202 图203

魔方阵算法及C语言实现

魔方阵算法及C语言实现 1 魔方阵概念 魔方阵是指由1,2,3……n2填充的,每一行、每一列、对角线之和均相等的方阵,阶数n = 3,4,5…。魔方阵也称为幻方阵。 例如三阶魔方阵为: 魔方阵有什么的规律呢? 魔方阵分为奇幻方和偶幻方。而偶幻方又分为是4的倍数(如4,8,12……)和不是4的倍数(如6,10,14……)两种。下面分别进行介绍。 2 奇魔方的算法 2.1 奇魔方的规律与算法 奇魔方(阶数n = 2 * m + 1,m =1,2,3……)规律如下: 1.数字1位于方阵中的第一行中间一列; 2.数字a(1 < a ≤ n2)所在行数比a-1行数少1,若a-1的行数为1,则a的行数为 n; 3.数字a(1 < a ≤ n2)所在列数比a-1列数大1,若a-1的列数为n,则a的列数为 1; 4.如果a-1是n的倍数,则a(1 < a ≤ n2)的行数比a-1行数大1,列数与a-1相同。 2.2 奇魔方算法的C语言实现 1 #include 2// Author: https://www.wendangku.net/doc/f116042911.html,/ 3// N为魔方阶数 4#define N 115 6int main()7{8int a[N][N]; 9int i;10 int col,row;111 2 col = (N-1)/2;1 3 row = 0;1415 a[row][col] = 1;1617for(i = 2; i <= N*N; i++)18 {19 if((i-1)%N == 0 )20 {21 row++;22 }23

else24 {25// if row = 0, then row = N-1, or row = row - 126 row--;27 row = (row+N)%N;2829 // if col = N, then col = 0, or col = col + 130 col ++;31 col %= N;32 }33 a[row][col] = i;34 }35for(row = 0;row 2// Author: https://www.wendangku.net/doc/f116042911.html,/ 3// N为魔方阶数, 4#define N 1 2 5 6int main() 7{ 8int a[N][N];//存储魔方 9 int i, temp;//临时变量10int col, row;//col 列,row 行1112//初始化1 3 i = 1;14for(row = 0;row < N; row++)15 {16 for(col = 0;col < N; col ++)17 {18 a[row][col] =i;19 i++;20 }21 }2223//翻转中间列24for(row = 0; row < N/2; row ++)25 {26for(col = N/4;col < N/4*3;col ++)27 {28 temp = a[row][col];29 a[row][col] = a[N-row-1][col];30 a[N-row-1][col] = temp;31 }32 }3334//翻转中间行35for(col = 0; col < N/2; col ++)36 {37for(row = N/4;row < N/4* 3;row ++)38 {39 temp = a[row][col];40 a[row][col] = a[row][N-col-1];41 a[row][N-col-1] = temp;42 }43 }4445for(row = 0;row < N; row++)46

简单易学的两种还原魔方的口诀及公式图解详解

图解简单易学的两种还原魔方的常用口诀公式 前言 我们常见的魔方是3x3x3的三阶魔方,英文名Rubik's cube。是一个正6 面体,有6种颜色,由26块组成,有8个角块;12个棱块;6个中心块(和中心轴支架相连)见下图: (图1) 学习魔方首先就要搞清它的以上结构,知道角块只能和角块换位,棱块只能和棱块换位,中心块不能移动。 魔方的标准色: 国际魔方标准色为:上黄-下白,前蓝-后绿,左橙-右红。 (见图2)注:(这里以白色为底面,因为以后的教程都将以白色为底面, 为了方便教学,请都统一以白色为准)。 (图 2)

认识公式 (图3)(图4)公式说明:实际上就是以上下左右前后的英文的单词的头一个大写字母表示 (图5)

(图6) (图7)

(图8) 三阶魔方入门玩法教程(一) 步骤一、完成一层 首先要做的是区分一层和一面:很多初学者对于“一面”与“一层”缺乏清楚的认识,所以在这里特别解释一下。所谓一层,就是在完成一面(如图2的白色面)的基础上,白色面的四条边,每条边的侧面只有一种颜色,图(2). 如图(1)中心块是蓝色,则它所在面的角和棱全都是蓝色,是图(2)的反方向 图(3)和(4)则是仅仅是一面的状态,而不是一层! (1)(2) (3)(4) 注:图(2)和(4)分别是图(1)和(3)的底面状态 想完成魔方,基础是最重要的,就像建筑一样,魔方也如此,基础是最重要的。

由于上文提到过中心块的固定性,这一性质,在魔方上实质起着定位的作用,简单的说就是中心块的颜色就代表它所在的面的颜色。 一、十字(就是快速法中的CROSS ) 第一种情况如图所示: 公式为R2 第二种情况如图所示: (白色下面颜色为橙色,为方便观察,特意翻出颜色) 橙白块要移到上右的位置,现在橙白块在目标位置的下面。但其橙色片没有和橙色的中心块贴在 一起。为此我们先做D’ F’ 即把橙色粘在一起,接着 R 还原到顶层,, F 是把蓝白橙还原到正确的位置(上面的F’ 使蓝白块向左移了九十度)。 公式为D’ F’ R F 图解: 当然,架十字不只只有上面两种情况,现我们在分析下其它的一些情况吧! 如下图: 橙白块的位置己对好,但颜色反了,我就先做R2化成第二种情况,然后用还原第二种情况的 (橙色下面颜色为白色,为方便观察,特意翻出颜色)

(完整版)任意奇数阶幻方的杨辉斜排法

任意奇数阶幻方的杨辉斜排法 ——对杨辉口诀的讨论 范贤荣2016.3.8 关于三阶幻方的排法,我国古代数学家杨辉给出了一个巧妙的排法:“九子斜排,上下对易,左右相更,四维挺出”。按照这个口诀,画出“上下对易,左右相更”之后,形成图1d的图面。因此,必定有一个“四维挺出”的步骤。最后得到“戴九履一,左三右七,二四為肩,六八為足”的三阶幻方。见图1。 图1 杨辉口诀的画法 可见,杨辉口诀是在利用5×5的方格,斜排9个数后,按照他的步骤,仍然是画出5×5方格的3阶的幻方,如图1e。 图2 菱中取方的画法 现在,我们很多人用的是“取方框”画法。即在5×5的方阵中,取出3×3方框来,如图2b的红框。红框外的1,是走到框内的绿方块中,红框外的9,是走到框内的蓝方块中。因此1、9没有“对易”。同样,3、7也没有“相更”。因此,就没有“上下对易,左右相更”了。所以,就不需要“四维挺出”了。因此,现在的画法,与原来的口诀不一致了。 所以,我根据作图的次序,将杨辉的口诀,演绎成: 各子斜排为菱形,中间取方当作城, 城外有子城内空,四围都往城中进。 挺进多少方可止,几阶就挺几步深。 注1:“四围”就是上下左右四边。“都往城中进”,因此是相向而行,都到城中。 注2:“几阶就挺几步深”。如3阶进3步,5阶进5步,7阶进7步……后续亦如此类推。见图2。

下面,我将2~13各奇数阶,由菱方阵演变成幻方的情况,列于后。 图3 5阶菱方阵与幻方 图4 7阶菱方阵与幻方

图5 9阶菱方阵与幻方 图6 11阶菱方阵与幻方

图7 11阶幻方 图8 13阶菱方阵

图9 13阶幻方

魔方公式图解简化版

魔方教程 认识公式 (图3)(图4)公式说明:实际上就是以上下左右前后的英文的单词的头一个大写字母表示

(图6)

相信大家已经惠农第一层了吧,让我们开始第二层吧! 第二层 如下图: y’ R U R U R U' R' U' R' U’R' U' R' U' R' U R U R U 助记口诀五顺五逆五逆五顺 图解: y’ R U R U R U' R' U' R' U’ 五顺五逆

R' U' R' U' R' U R U R U 五逆五顺 小贴士:上面两个公式互为对称,都是10步,最后一步没有实际意义,只是加入令口诀更加容易记住而已,可以不做第10步! 还有的情况就是位置正确但颜色没对好,或者已经在第二层但位置不对。 如下两图: 这类情况要怎么办呢?我们先从顶层随便找个块“还原”到前右的位置(不论是不是含有黄色的棱块,都可以!),那蓝红块自然会移到顶层(被替换出来了),接着适当转顶层就会出现和步骤二开头介绍的两种情况之一 最终效果第二图为另三面效果 步骤三――OLL

注:OLL就是要把顶层颜色统一,即顶面为黄色。这里以黑色代替 从现在开始的图片都是从顶面向下看的俯视图。黑线代表顶层的颜色。注意魔方一定要按照图的样子摆好!图的下面则是魔方的前面,也就是你面对的面,图的正面则是魔方的顶面。(如图7) (图7) 顶层十字 完成了第二层,接下来是在顶层架“十”字,先不管角块的颜色到底如何,只关注棱块,而且只看顶面的颜色(即黄色),最多做两次‘相似’公式就可以在顶层架好十字。 公式1:FRUR’U’F’公式2:f RUR’U’f’ 图解: 公式1:FRUR’U’F’助记口诀:左右上顺右上左逆 公式2:f RUR’U’f’助记口诀:左右上顺右上左逆 注:上公式可以发现公式1与公式2只有前后的F和f大小写之分,所以记一个公式就可以 我们最终的目的是使得顶面变成这样,如果你的魔方顶面已经是这样了,那这一步就可以直接跳过,不过不是每次都会这样幸运的,公式还是需要背的。下面就是顶层三种状态和拧法。

魔方阵

问题3.1、n –魔方阵 一、提出问题 所谓“n – 魔方阵”是指由1至n 这n 个不同整数构成的魔方阵,其魔方常数为n ( n + 1 ) / 2。例如,5 – 魔方阵和7 – 魔方阵如图3 – 1所示。易知,这两个魔方阵的魔方常数分别为15和28。 321541543 24321 52154 35432 1 ,4 3217651 76543254321762176543654321732176547654321 图3 – 1 5 – 魔方阵和7 – 魔方阵 n – 魔方阵的数字排列很有规律,若用人工的方法给出并不困难。现在要求给出:能让计算机自动输出n (≥ 3)为奇数时形如图3 – 1所示的n – 魔方阵的算法。 二、简单分析 n – 魔方阵较我们之后将要讨论的奇、偶数阶魔方阵,要简单许多。观察后不难发现: 1.要填入的n 个数字在阵列的每一行和每一列都要出现且仅出现一次,且各行(列)中的数字顺序相同,这里的顺序是指循环顺序,其中数字1接在数字n 的后面。 2.从阵列的行来看,每一行的第一个数字与它上一行正中间的数字相同。 通过对“n – 魔方阵”的分析,下面几个基本问题必须得到解决: ◆ 如何确定阵列第一行各个数字? ◆ 在填入其他行的数字时如何保证数字原有的顺序不改变同时每一行的第一个数字正好是其上一行正中间的数字? 三、设计准备 假设我们要构建的是一个n – 魔方阵,为此定义一个有n 行n 列的二维数组。 1.确定阵列第一行各个数字 这里我们处理的方法很简单,即可以利用循环方法顺序地在二维数组第一行中填写1,2,3,…,n 这n 个自然数即可。 2.填入其他行的数字,并保证数字原有的顺序不改变同时每一行的第一个数字正好是其上一行

魔方快速还原方法-增加图案魔方的方法

魔方的还原方法 第一步:先选定一个中心块颜色作为底层,然后将底层四个边块和四个角块向上,也就是我们通常说的转一面。具体方法略。 第二步:所有的色块都变成一面后,我们需要调整底面的角块和边块,实现 完成第二步后,我们就会得到这样的效果

接下来就要开始学习公式还原了。在开始之前先了解一下魔方复原的术语。 首先要知道3×3×3 魔方的 6 个面的相对叫法和英文缩写: 如图示:前--Front (F),后--Back(B),左--Left(L),右--Right (R),上--Up (U),下-- Down(D). 注:各个面的叫法是根据它们对你的方向所定的,不是根据颜色! 我们还要把这26 块分类: 1) 中心块----六个面的中心就叫中心块(只有一种颜色) 2) 边块----和中心块相邻的由两种颜色组成的块 3) 角块----8 个在角上由三种颜色组成的块

注:a)不管怎样旋转魔方,中心块的位置是不会变的 b)旋转魔方时,边块和角块都会移动,但边块不会移动到角块的位置,同样角块也不会移动到边块的位置!!(这里我们就会想到复原魔方的基本思想就是把角块和边块移动到它"该到的"位置上!!!!) 这里还要理解复原魔方的又一思想----我们是按层的思想复原魔方的,显而易见 3×3×3 魔方分了 3 层---- 上层; 中层; 底层.换句话说就是先复原上面或下面,然后把这层作为底层,然后复原中层,最后是上层!!!! 然后要理解拧法,在本篇文章里归纳起来一共有 3 种法: 1)顺时针旋转(90 度) 2)逆时针旋转(90 度) 3)半圈旋转(180 度) 表示方法: a)顺时针一般不用符号标识 b)逆时针--(') c)半圈--(2 或") 举例: R 顺时针直角旋转右面; U' 逆时针直角旋转上面; F" 旋转前面 180 度 好!理解了以上所讲的内容后我们就可以开始复原魔方了!!!! 第三步:前两步已经把上层复原,这时把魔方颠倒一下,即底层全部复原.所以第三步的目的就是使中层四个边块复位.先在上层找一个应该去中层的边块,然后转动上面,使该边块的侧面与同色的侧面中心块对齐, 然后看符合图 3 还是图 4的情况 , 如果是图 3 做 URU'R'U'F'UF, 如果是图 4 做 U'F'UFURU'R',这样原来在上层的边块就可以复原了. 如果要复原的中层边块就在中层,则应先随便取一个上层边块用图 3 或图 4 的方法去占据要复位的边块所在的位置,使它到上层来再用前面的方法使它复位. 第三步做完后魔方就是这样的了

四阶魔方公式

四阶魔方公式 Company number:【WTUT-WT88Y-W8BBGB-BWYTT-19998】

四阶魔方公式: 两个棱块相对,底棱块转到右侧面,在转到后面调整到底,在转到应该的位置即可)才能用公式:右二上顶,顶一面右转,前一面右转,右面下转,之后回归顶一面左转,前一面左转,左二下回。 最后没有形成L或点或I必须记住的公式 第一组:右侧2层上两次就是180 后面左180 上面左180 第二组:左两面下一次上面左180 右侧2层下一次 上面左180 右侧两层上一次上面左180 第三组:前面右180 右侧两层上一次前面右180 第四组:左面两层上一次后面左180 右侧两层上180 两棱相对最后出现特殊时公式: 一、右第二层单独上180 顶左180 二、右第二层单独上180 顶两层共同180 三、右第二层单独上180 顶两层共同180 32223公式:在上面时,匹配,中心冲上,顶左、右下、顶右、右上。 不匹配,右上,顶右,右下 在下面时,匹配,中心冲上,顶右,右下,顶左,右上 不匹配,中心冲上,右下,前右,右上 3完成后,有个杂乱棱先调整基础块同色后,看基础块上面块色,破坏中心调整第四棱同色,在调整第五个基础块同上面块色,在还原中心,第一个2完成。 魔方公式: 基本上很简单,大写的字母R,U之类就是转某个面,小写的r,u等就是同时转两层,带'就是逆时针转。

x、y、z就是整个魔方转,具体怎么转比较绕一点,x、y、z分别为水平,竖直和前后轴,标记x、y、z就是分别围着这三个轴顺时针转90°,加'就是逆时针 另外()括号的意思就是这几个动作是一组,可以很连贯很顺手的一起做,()括号外面有个2就是括号里面的步骤做两次,大家再有不明白的看动画就行了。 注意E和D的顺逆方向一致,所以E'是从上往下看的顺时针。M和L 的顺逆方向一致。 具体的见下面的图解。

数据结构 第5章 魔方阵

数据结构 实验报告第五章 实验名称:魔方阵 实验类型:设计性实验 班级: 学号: 姓名: 实验日期:2014年6月7日 1.问题描述 魔方阵是一个古老的智力问题,它要求在一个m×m的矩阵中填入1~m2的数字(m为奇数),使得每一行、每一列、每条对角线的累加和都相等,如图1所示。 基本要求 ●输入魔方阵的行数m,要求m为奇数,程序对所输入的m作简单的判 断,如m有错,能给出适当的提示信息。 ●实现魔方阵。 ●输出魔方阵。 2.数据结构设计 这个问题的数据结构使用数组就可以解决。 3.算法设计 ●由1开始填数,将1放在第0行的中间位置。 ●将魔方阵想象成上下、左右相接,每次往左上角走一步,会有下列情况: ?左上角超出上方边界,则在最下边相对应的位置填入下一个数字; ?左上角超出左边边界,则在最右边相应的位置填入下一个数字; ?如果按上述方法找到的位置已填入数据,则在同一列下一行填入下 一个数字。 以3×3魔方阵为例,说明其填数过程,如图2所示。

图2 三阶魔方阵的生成过程 由三阶魔方阵的生成过程可知,某一位置(x,y)的左上角的位置是(x-1,y-1),如果x-1≥0,不用调整,否则将其调整为x-1+m;同理,如果y-1≥0,不用调整,否则将其调整为y-1+m。所以,位置(x,y)的左上角的位置可以用求模的方法获得,即: x=(x-1+m)%m y=(y-1+m)%m 如果所求的位置已经有数据了,将该数据填入同一列下一行的位置。这里需要注意的是。此时的x和y已经变成之前的上一行上一列了,如果想变回之前位置的下一行同一列,x需要跨越两行,y需要跨越一列,即: x=(x+2)%m y=(y+1)%m 4.运行、测试与分析 (1)程序开始运行并输入。 (2)输出结果。 (3)容错检验。

魔方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、第二层 由于中心块已固定,所以第二层只有四个棱块没解决了,现在就来解决它。先将第一步中做好的的魔方倒过来(如图3)一般都会出现下面(图4、5、6)几种情况,(有一种特殊情况是四个中层棱都在不在顶上,而是相对错位,此时只要用图4图5的公式做一次便可出现4、5的情况)用对应的公式来解决它们。 图示公式录像

四阶魔方还原公式图文教程

四阶魔方还原公式图文教程 本文四阶魔方公式图解是针对四阶魔方教程的降阶法做更多的解释和说明。 四阶魔方被认为是2-5阶魔方玩法中最不好复原的,虽然五阶魔方的变化种类比4阶多,但是四阶魔方的中心块并不固定,也就不...顶层和底层都有风筝块和三角块,它们也被称为角块和边块。整个魔术方块总共有8个角块和8个边块。 四阶魔方的一种比较简单的转法:只要记住三个魔方公式 一、转中心四格 先从一面中心四格开始。利用旋转,建议将同色两格连在一起移动比较容易。例如: 注:2表示转二次 转好一面中心四格后,转其侧面的中心四格,可利用侧面之顺逆时针旋转来配对。当然,必须先记得各面颜色的相对位置。注意:因为四阶的中心块的位置会移动,所以合并后中心块必需在正确位置,也就是上白下黄、前绿后蓝、左橙右红。

二、合并棱块: 公式一:MD R F' U R' F MD'。 要配对的是相对平行的 其它情形利用旋转等转到上图,例如: 再用公式一 三、将中心四个当成一块,边两格当成一块,当成三阶魔方转。最好配合F2L、OLL、PLL转法处理。

四、处理特殊情形: 此处所说特殊情形,是三阶方块不可能出现的,但在四阶上会出现。共可分两类:换两个对面棱块, 公式二:MR2 U2 MR2 U2 MU2 MR2 MU2 以下三种情形,先用上面公式二,再利用三阶 PLL 或基本公式处理。 翻正一个棱块组, 公式三:MR2 B2 U2 ML U2 MR' U2 MR U2 F2 MR F2 ML' B2 MR2 公式中,转中间左右两圈时,可以同时带左右外圈一起转看看,观察其结果。特别要记的,就是处理特别情形的两个公式。所以此种四阶转法,比较简单。同样的,上述转法可以应用在「五阶魔方」上。特殊情形只有一种,是在配对最后一个边时,边中间点可能要自转180度。

魔方简单图解

只要7步,就能将三阶魔方6面还原 攻略如下: 首先,破解魔方,我们就要先了解它的结构,魔方共6色6面,每面又分为中央块(最中间的块6个)、角块(4角的块8个)和边块(4条边中间的块12个)。其中中央块只有1个面,他们是固定的结构,所以中央是红色的块,那么其他的红色都要向这个面集中。而且红色的中央块对面永远是橙色中央块(国际标准是这么规定的)。而边块有2个面2个颜色,角块则有3个面3个颜色。 接下来我们将每个面都用字母代表, 然后破解功略里会用字母来说明要转动的1层或1面,以及方向:例如:R(代表右面顺时针转90度),R`(代表右面逆时针转90度),R2(代表右面顺时针转2

下面是图示: 最后要说明的是:每面的名称是相对的,例如F是前面,就是手拿魔方时面向自己的一面,若把模仿旋转到另一面,那么就有新的一面成为前面。 好了 下面就让我们尝试下7步将魔方还原吧! 首先一定要注意看清魔方图示的摆放位置 手法一: R'U'R 手法二: RUR' 手法三: RU'R' 手法四: R'UR

2.一整面。 3.前两层。 把白色面转向下,找出红绿边块,若红绿边块在顶层则按顺时针方向转动顶层,直到边块与图上的1个情况相同,在按照口诀转动魔方,使边块归位。若红绿边块在中间某层,但位置错误或颜色错误,则先使红绿边块在右前方的位置,再重新按照下面其中一个次序旋转1次。公式可以简单记为U三U'F'UF U'F'UFU 三

4.顶层黄十字。(第三步完成共有四种情况.下图所示)若按照口诀转动1次后,顶层仍未出现黄色十字,可重复按口 诀转动,直到黄色十字出现为止。2个色块是可以选用F2二U'F'2 5.顶层同色。第4步完成共有7种情况。2种四块不是黄色,2种三块不是黄色,3种两块不是黄色。 LUL'ULU2L' 所示为鱼二公式 一U'R'U2R 所示为鱼一公式 注意鱼头位置,不能破坏鱼头图案 四块不是黄色以及两块不是黄色的可以用鱼一来做.注意按二后四左的顺序把不是黄色的角块做为鱼头. 二后是黄色的一面对的后面. 四左是黄色的一面对的左面.

(纯c语言运行通过)任意阶魔阵算法及规律

任意阶魔方阵算法 20012-05-30 22:51:00| 分类:魔阶作者:王狼杰 我一直就对魔方阵很感兴趣,特别是知道了奇数阶魔方阵的罗伯特算法后,就特别想知道偶数阶魔方阵应有什么算法。当时书上说偶数阶魔方阵比较复杂。都没有什么说明。因此这个问题一直搁在我心里很久,已差不多快忘记了。今天突然又想到了这个问题。于是我开始在网上搜寻,看能不能找到什么好的算法。记得在高中的时候,我就做过魔方阵,当时我从三阶一直做到过八阶方阵,不过用的是人工的方法。到大学的时候我知道了罗伯特算法后,我就用程序将算法写了出来。于是我今天准备把偶数阶的魔方阵也写出来。在网上终于找到了一个比较好的算法。将该算法用C写了出来。供大家分亨。 1、奇数阶幻方 n为奇数(n=3,5,7,9,11……) (n=2*k+1,k=1,2,3,4,5……) 奇数阶幻方最经典的填法是罗伯特法(也有人称之为楼梯方)。填写方法是这样: 把1(或最小的数)放在第一行正中;按以下规律排列剩下的n*n-1个数: (1)、每一个数放在前一个数的右上一格; (2)、如果这个数所要放的格已经超出了顶行那么就把它放在底行,仍然要放在右一列; (3)、如果这个数所要放的格已经超出了最右列那么就把它放在最左列,仍然要放在上一行; (4)、如果这个数所要放的格已经超出了顶行且超出了最右列,那么就把它放在前一个数的下一行同一列的格内; (5)、如果这个数所要放的格已经有数填入,处理方法同(4)。 这种写法总是先向“右上”的方向,象是在爬楼梯。

2、双偶阶幻方 n为偶数,且能被4整除(n=4,8,12,16,20……) (n=4k,k=1,2,3,4,5……) 先说明一个定义: 互补:如果两个数字的和,等于幻方最大数和最小数的和,即n*n+1,称为互补。 先看看4阶幻方的填法:将数字从左到右、从上到下按顺序填写: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 这个方阵的对角线,已经用蓝色标出。将对角线上的数字,换成与它互补的数字。 这里,n*n+1 = 4*4+1 = 17; 把1换成17-1 = 16;把6换成17-6 = 11;把11换成17-11 = 6……换完后就是一个四阶幻方。 16 2 3 13 5 11 10 8 9 7 6 12 4 14 1 5 1 对于n=4k阶幻方,我们先把数字按顺序填写。写好后,按4*4把它划分成k*k个方阵。因为n是4的倍数,一定能用4*4的小方阵分割。然后把每个小方阵的对角线,象制作4阶幻方的方法一样,对角线上的数字换成互补的数字,就构成幻方。下面是8阶幻方的作法:(1) 先把数字按顺序填。然后,按4*4把它分割成2*2个小方阵 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

三阶魔方教程完美打印版

1、魔方常见公式符号说明(重要) 顺时针90度逆时针90度顺时针180度逆时针180度 前层 F(front) 后层 B(back) 右层 R(right) 上层 U(up) 2-1、第一种情况2-2、第二种情况 图2-1 图2-2 公式2-1:(R U R')记忆技巧:白色朝右,第一步就旋转右层公式2-2:(F'U'F)记忆技巧:白色朝前,第一步就旋转前层 2-3、第三种情况 图2-3 用两次公式2-1 (R U R')U' (R U R') 2-4、第四种情况 图2-4 用两次公式2-2 (F'U'F)U(F'U'F) 2-5、第五种情况 图2-5 用三次公式2-1 (R U R')(R U R')U' (R U R')= (R U U R')U' (R U R') 第三步:中棱归位(复原魔方中层四个棱块的步骤) 3-1、第一种情况 图3-1 公式3-1:(U' F' U F )(U R U' R') 3-2、第二种情况 图3-2 公式3-2 :(U R U' R')(U' F' U F) 2、魔方最流行的配色 上黄-下白 前蓝-后绿 左橙-右红 第二步:底角归位(复 原魔方第一层四个角 块) 3、魔方还原方法: 第一步:底棱归位(又 称底部架十字,底层 四个棱块正确复原的 过程) 魔方底层架十字可以无师自通,只是我们这一步要复原的四 个棱块的相对位置顺序要注意,由于我们以白色中心块做底层, 按照现在的主流魔方的贴纸的帖法(上黄下白,前蓝后緑,左橙 右红),如果我们先复原了白蓝这个棱块,那我们在保持白色中心 块在底部的情况下,白红的棱块就一点要放在白蓝棱块的右边, 白橙棱块放在白蓝棱块的左边,白緑棱块放在白蓝棱块的对面, 由于魔方的中心块不会发生变化,所以在复原的过程中,我们是 以中心块为参照物的,第一步我们在复原白蓝、白红、白绿、白 橙这四个棱块的时候,我们可以先把白色面旋转到顶层,和黄色 中心块同一个平面,然后再把他对应的另一个颜色(蓝或红或緑 或橙)经过旋转最上层,使之和对应的中心块的颜色同色,这样 我们再旋转180度,对应的棱块就正确复原到底部了。

四阶魔方最简翻棱公式

四阶魔方最简翻棱公式 四阶魔方的翻棱公式就是完成12对棱块,掌握了原地翻棱公式,找一对棱,让该对棱同在上或同在下,先上两层往右错开,然后进行原地翻棱公式,接下来就是向左把上两层返回。 然后找对棱块分别在左、右两侧,单同面不同色,先做一次翻棱公式,再做一次对棱公式。 四阶魔方还原用到的公式有Rw U Rw'、Rw U' Rw'、Lw' U Lw、Lw' U' Lw、Rw U'2 Rw'、Lw' U2 Lw、R U R' F R' F' R、Uw' ( R U R' F R' F' R) Uw、R U R' F R' F' R 。 魔方还原最简单的方法就是按照公式进行转动,最基础的魔方就是三阶魔方,三阶魔方转动熟练之后其他的高阶魔方在还原的时候就简单一些。 四阶魔方在还原的时候可以先降阶还原,降阶成三阶魔方,三阶魔方是魔方中的基础魔方,很多高阶魔方在还原的时候都会用到三阶魔方的还原公式,比如四阶魔方、五阶魔方、二阶魔方、镜面魔方等。 特殊公式是Uw2 ( MR2 U2 )2 MR2 Uw2、Rw U2 CR (Rw U2)2 Rw' U2、Lw U2 Rw' U2 Rw U2 Rw' U2 Rw'。 公式字母左=L(Left)、右=R(Right)表达式:F(前顺时针90度),R'(右逆时针90度),U2(上顺时针180度)。 四阶魔方棱块最后一对棱 找到一对棱块分别在左、右两侧,单同面不同色(一个在上,另一个在下),需要先做一次翻棱公式,再做一次对棱公式,原地翻棱公式:R U R' F R' F' R 。

四阶魔方还原的时候是用公式Rw U Rw'、Rw U' Rw'、Lw' U Lw、Lw' U' Lw、Rw U'2 Rw'、Lw' U2 Lw、R U R' F R' F' R、Uw' ( R U R' F R' F' R) Uw、R U R' F R' F' R 。 特殊公式是Uw2 ( MR2 U2 )2 MR2 Uw2、Rw U2 CR (Rw U2)2 Rw' U2、Lw U2 Rw' U2 Rw U2 Rw' U2 Rw'。 四阶魔方十二棱块还原是先用原地翻棱公式R U R' F R' F' R转动,然后找一对棱,让该对棱同在上或同在下,先上两层往右错开,再做一次原地翻棱的公式,接下来就是向左把上面的两层返回。 接下来是用拼棱公式Uw'( R U R' F R' F' R)Uw进行转动,然后找到对棱块分别在左、右两侧,单同面不同色,先做一次翻棱公司,再做一次对棱公式。 最后用原地翻棱公式进行还原就可以了,原地翻棱公式:R U R' F R' F' R ,下面的步骤就是把四阶魔方按照三阶魔方的还原方法进行还原。 四阶魔方在还原的时候是参考三阶魔方的还原方法进行还原的,三阶魔方是魔方中的基础魔方,三阶魔方转动熟练之后其他的高阶魔方在还原的时候就更简单一些。 玩魔方能给我们带来什么好处 1、锻炼手眼脑熟练配合,提升专注力:还原魔方的过程是一个集观察、动作、思维集于一体的过程,需要手眼脑的协调,手转着,眼睛找着,脑子思考着。在这个过程中,手、眼、脑的配合能力和专注力都会快速提升。

只要简单7步就能破解魔方的图文教程

只要简单7步就能破解魔方的图文教程!怎样还原魔方? [ 杂乱无章 ] 首先,破解魔方,或者说还原魔方的6个面,我们就要先了解它的结构,魔方共6色6面,每面又分为中央块(最中间的块6个)、角块(4角的块8个)和边块(4条边中间的块12个)。其中中央块只有1个面,他们是固定的结构,所以中央是红色的块,那么其他的红色都要向这个面集中。而且红色的中央块对面永远是橙色中央块(国际标准是这么规定的)。而边块有2个面2个颜色,角块则有3个面3个颜色。 接下来我们将每个面都用字母代表,

然后破解魔方功略里会用字母来说明要转动的1层或1面,以及方向:例如:R(代表右面顺时针转90度),R`(代表右面逆时针转90度),R2(代表右面顺时针转2次90度) 下面是图示: 最后要说明的是:每面的名称是相对的,例如F是前面,就是手拿魔方时面向自己的一面,若把模仿旋转到另一面,那么就有新的一面成为前面。 好了 下面就让我们尝试下7步将魔方还原吧! 1.先将中间是白色块的一面(有个rubiks logo的那块)对着上面,然后在顶部做出白十字,就是其他颜色的块都到相应的位置(小复杂,见图示,注意上面标

的口诀哦,照做无误) 2.然后是将白色的角块归位(秘籍说的很复杂,还是看图比较容易理解啦) 3.然后让中层边块归位。 把白色面转向下,找出红绿边块,若红绿边块在顶层则按顺时针方向转动顶层,

直到边块与图上的1个情况相同,在按照口诀转动魔方,使边块归位。若红绿边块在中间某层,但位置错误或颜色错误,则先使红绿边块在右前方的位置,再重新按照下面其中一个次序旋转1次。 4.然后将顶层(应该是黄色)边块调整向上,做出黄十字。若按照口诀转动1次后,顶层仍未出现黄色十字,可重复按口诀转动,直到黄色十字出现为止。 5.然后将魔方黄色角块调整到十字周围,有点难度,看口诀提示吧。

魔方阵解答

P141 5.求Sn=a+aa+aaa+…+aa ….a 之值,其中a 是一个数字。如:2+22+222+2222(n=4),n 由键盘输入。 7.求 ∑∑∑===++100 150110 1 2 1k k k k k k

P168 7.输出魔方阵,所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。

解:魔方阵中各数的排列规律如下: 1.)将1放在第一行中间的一列。 2.) 从2开始直到n×n止各数依次按下列规律存放:每一个数存放的行比前一个数的行数减 1,列数加1(如三阶魔方阵,5在4的上一行,后一列)。 3)如果上一数的行数为一,则下一个数的行数为n(指最下一行)。例如,1在第一行,则2应放在最下一行,列数加1。 4)当上一个数的列数为n时,下一个数的列数应为1,行数减1。例如,2在第3行最后一列,则3应放在第2行第1列。 5)如果按上面规则确定的位置上已有数,或上一个数是第1行第n列时,则把下一个数放在上一个数的下面。例:4应放在第一行第二列,但位置已被1占据,所以4就放在3的下面。由于6是第一行第三列(即最后一列),故7放在6下面。 N-S图:

10.有一篇文章,共有3行文字,每行80个字符。要求分别统计出其中英文大写字母、小写 字母、数字、空格,以及其他字符个数。

解:N-S图 程序:

P218 4.编写一个函数,使给定的一个二维数组(3×3)转置(行列互换) 10.写一个函数,输入一行字符,将此字符串中最长的单词输出。 分析:单词是由全字母组成的字符串,程序中设longest函数的作用是找最长单词的位置。此函数的返回值是该行字符中最长函数单词的起始位置。Longest N-S图

魔方解法大全_(超简单_超全_带图片)

五阶公式说明五阶魔方降阶法教程五阶魔方层先玩法教程 本教程中讲解的是高级魔方普遍使用的一种方法降阶法,对于五阶魔方来说,我们第一步来完成六面中心块的复原,第二步完成12 个棱块的复原,第三步我们就完全可以用三阶的公式来完成复原了。有兴趣学习层先法的请进入五阶魔方层先玩法教程页面学习。 下面我们介绍几个最基础的几个公式,就可以完成五阶魔方的复原了,相信你掌握了下面几个公式,五阶魔方复原也非常的简单哟。 第一步:形成中心 在我们完成中心块的时候,前面我们完全可以不用公式,自己根据玩魔方的经验,完全可以靠过去的经验完成4面中心块的复原,只是在完成最后两面中心块的过程中为了保持已经完成的四面的中心块不 被破坏,处理用的步骤稍微复杂一点,下面介绍的就是两个这样的公式,其实也就是一点点小小的技巧,很 多朋友估计不看公式也是这样来完成的,在此,我们仅仅是提供一种思路,其中的一些技巧,大家可活学 活用。

公式一:TR' F' MR' F TR F' MR 公式二:TR U TR' U TR U2 TR' 合并中心块,上面的公式仅仅是一种方式,根据上面的公式,也可反向完成,如公式:ML' U' ML ,初学时,仔细领会公式的技巧和规律,理解了公式的意义,不用公式就也能随心所欲复原了。 第二步:集成棱边 在我们完成复原 12个棱块的时候,同样前面我们完全可以不用公式,自己根据玩魔方的经验,完全可以靠过去的经验完成10个棱块的复原,只是在完成最后两个棱块的的过程中为了保持已经完成的10个棱块不被破坏,处理用的步骤稍微复杂一点,下面介绍的就是4个这样的公式,其实也就是一点点小小的技巧,很多朋友估计不看公式也是这样来完成的,在此,我们仅仅是提供一种思路,其中的一些技巧,大家可活学活用。 当我们完全的正确的复原了6面的中心块和12个棱块以后,我们就可以把5阶完全的当作三阶魔方

相关文档