社区
Java SE
帖子详情
魔方
xiangdeweiwangfengg
2007-06-06 10:07:27
哪个兄弟可以用数组写个魔方的代码呀,我想了很就都想不出来
显示结果:
8 1 6
3 5 7
4 9 2
...全文
214
3
打赏
收藏
魔方
哪个兄弟可以用数组写个魔方的代码呀,我想了很就都想不出来 显示结果: 8 1 6 3 5 7 4 9 2
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yck2006
2007-06-09
打赏
举报
回复
以前网上看到过的一个。。
如果您会解奇数魔术方阵,要解这种方阵也就不难理解,首先我们令n=2(2m+1),并将整个方阵看作是数个奇数方阵的组合,如下所示:
A B
C D
首先依序将A、B、C、D四个位置,依奇数方阵的规则填入数字,填完之後,方阵中各行的和就相同了,但列与对角线则否,此时必须在A-D与C- B之间,作一些对应的调换,规则如下:
将A中每一列(中间列除外)的头m个元素,与D中对应位置的元素调换。
将A的中央列、中央那一格向左取m格,并与D中对应位置对调
将C中每一列的倒数m-1个元素,与B中对应的元素对调
public class Matrix {
public static int[][] magic22mp1(int n) {
int[][] square = new int[n][n];
magic_o(square, n/2);
exchange(square, n);
return square;
}
private static void magic_o(int[][] square, int n) {
int row = 0;
int column = n / 2;
for(int count = 1; count <= n*n; count++) {
square[row][column] = count; // 填A
square[row+n][column+n] = count + n*n; // 填B
square[row][column+n] = count + 2*n*n; // 填C
square[row+n][column] = count + 3*n*n; // 填D
if(count % n == 0)
row++;
else {
row = (row == 0) ? n - 1 : row - 1 ;
column = (column == n-1) ? 0 : column + 1;
}
}
}
private static void exchange(int[][] x, int n) {
int i, j;
int m = n / 4;
int m1 = m - 1;
for(i = 0; i < n/2; i++) {
if(i != m) {
for(j = 0; j < m; j++) // 处理规则 1
swap(x, i, j, n/2+i, j);
for(j = 0; j < m1; j++) // 处理规则 2
swap(x, i, n-1-j, n/2+i, n-1-j);
}
else { // 处理规则 3
for(j = 1; j <= m; j++)
swap(x, m, j, n/2+m, j);
for(j = 0; j < m1; j++)
swap(x, m, n-1-j, n/2+m, n-1-j);
}
}
}
private static void swap(int[][] number,
int i, int j, int k, int l) {
int t;
t = number[i][j];
number[i][j] = number[k][l];
number[k][l] = t;
}
public static void main(String[] args) {
int[][] magic = Matrix.magic22mp1(6);
for(int k = 0; k < magic.length; k++) {
for(int l = 0; l < magic[0].length; l++) {
System.out.print(magic[k][l] + " ");
}
System.out.println();
}
}
}
xiangdeweiwangfengg
2007-06-09
打赏
举报
回复
顶
ddllcc
2007-06-08
打赏
举报
回复
我以前用C语言写了一个,不知能否给你带来提示。如需要再给你发吧。
奇乐
魔方
坊 -
魔方
秘籍
"奇乐
魔方
坊 -
魔方
秘籍"是一份详尽的
魔方
指南,涵盖了从基础的三阶
魔方
到更复杂的异形
魔方
的复原方法,包括四阶、五阶、六阶、七阶
魔方
以及五
魔方
等多种类型。本秘籍特别强调了cfop公式系统,这是目前顶尖
魔方
选手...
stm32解
魔方
_stm32解
魔方
_stm32f407_
魔方
还原_
魔方
识别
STM32解
魔方
项目基于STM32F407微控制器,旨在实现对
魔方
的自动识别与还原。这个项目结合了嵌入式系统、图像处理和算法优化等多个领域的技术,下面将详细介绍其中涉及的关键知识点。 首先,STM32F407是一款高性能的...
3D
魔方
_3D3阶
魔方
_
在IT领域,3D
魔方
软件是利用计算机技术模拟真实三阶
魔方
的工具,它为用户提供了在电脑上体验和解决
魔方
的便捷途径。3D3阶
魔方
指的是具有三个维度,每一维度都有三层的
魔方
玩具,是
魔方
世界中最经典且最普及的一种...
【C++】二阶
魔方
还原算法
在本文中,我们将深入探讨如何使用C++编程语言和广度优先搜索(BFS)算法来解决二阶
魔方
的还原问题。二阶
魔方
,相比于三阶
魔方
,其结构更为简单,但依然需要一定的策略和算法来完成复原。 首先,我们需要理解
魔方
的...
魔方
机器人技术文档
在当今的科技时代,解
魔方
机器人作为一种机电一体化的智能设备,将
魔方
复原算法、计算机视觉和机器人控制技术融合在一起。这种机器人不仅可以展示人工智能的强大能力,也推动了相关技术的发展。文档中提到的解
魔方
...
Java SE
62,630
社区成员
307,264
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章