试、再修改!
两个多小时以后,程序终于成功运转了一次。
赵毅输入了几种魔方初始状态,都得到了想象中的结果。
他主要注意是运转速度。
其中有一组数据输入后,cpu瞬间达到最大功效,电脑似乎是卡住了,过了三、四秒以后才得到结果。
他干脆在筛选程序中,加上了一个计数项nn,每一次筛选程序运行,计数项都会增加一点。
随后他分别输入了两种,十五步能还原的魔方状态。
程序运行一秒左右,就得到了结果。
结果没问题。
nn得到了不同的数值,一个是36211,一个是67091。
“这么少?”
赵奕感到惊讶。
哪怕对筛选方法有信心,他也没有想到第二步的筛选对比,竟然会刷下如此庞大的数据。
想想也对。
筛选对比刷下了计算需求最多、最无用的部分,继续运行的部分则淘汰了更多让魔方变得混乱的步骤。
计算量是以指数形式递增的。
筛选让指数的底变得更小,到了十步以内都会变成以千、百为单位的增加,增加的量都可以忽略不计。
“如果是最复杂的情况,筛选次数也能达到千万,甚至亿级?”
赵奕想着。
那种数据其实也并不多。
普通家用电脑依旧能解决,只不过需要的运算时间更长一些,或许是几十秒,或许是一分钟、几分钟、十几分钟。
哪怕上升到以小时为单位的程度,也已经是相当了不起的。
现在世界公认三阶魔方的计算,只能用超级计算机才可以,家用电脑的性能实在差太多了。
程序设计出来,剩下就是优化了。
赵奕做了个输入优化。
之前为了方便进入设计主题,输入端需要六个界面的五十四种颜色,实际上,只输入三个面,就足以确定整个魔方。
添加了输入优化代码后,只需要三个面的二十七种颜色。
之后是检测代码。
如果输入的魔方颜色不成立,检测代码就会执行给出错误提示。
然后。
赵奕做了个简单的界面。
左边有二十七个空格,可以填入魔方的颜色;右边则是空白的输出界面,会把最少步骤的转动结果以文字形式表示出来。
本章未完,请点击"下一页"继续阅读! 第2页 / 共4页