找回密码
 立即注册
查看: 8623|回复: 4

求一个16宫格算法啊,java,c++,c的都行

[复制链接]

1

主题

0

回帖

0

积分

游客

积分
0
发表于 2008-1-23 09:42:37 | 显示全部楼层 |阅读模式
要求1到16数字排4行4列,行列和对角线和都一样,急啊

9

主题

155

回帖

173

积分

一星会员

积分
173
发表于 2008-1-23 09:46:43 | 显示全部楼层
要想想,==啊,貌似又这么一个算法,叫什么同心法
我查查啊
并非我之无能,实属共匪狡诈啊

9

主题

155

回帖

173

积分

一星会员

积分
173
发表于 2008-1-23 10:09:12 | 显示全部楼层
同心方阵法,自己在百度上可以查到算法,下面是我给的一段代码,有点垃圾,凑合用吧

public class exec {
    //定义赋值变量和类似矩阵的二维数组
    public static int incr=1;
    public static int[][] a=new int[4][4];
   
    //对二维数组赋值
    public void evaluate(){
        for(int i= 0; i< 4; i++) {
            for (int j= 0; j< 4; j++) {
                a[j]=incr++;
            }        
        }
    }
   
    //进行算法(同心方阵法),偶数阶方阵(宫格)都可以这样解决
    public void fun(){
        for (int i= 0; i< 2; i++) {
            for (int j= 0; j< 4; j++) {
                if(i != j && i+j != 3){//判断是否是对角线元素
                    int c;
                    c=a[j];
                    a[j]=a[3-i][3-j];
                    a[3-i][3-j]=c;
                }
            }
        }
    }
        
    //main函数进行测试
    public static void main(String[] args) {
        exec e=new exec();
        e.evaluate();
        e.fun();
        for(int i = 0; i < 4; i++){
            for (int j = 0; j < 4; j++) {
                System.out.print(a[j]+",");
            }
            System.out.println();
        }
    }
}

测试结果:
1,15,14,4,
12,6,7,9,
8,10,11,5,
13,3,2,16,
并非我之无能,实属共匪狡诈啊

650

主题

2041

回帖

3346

积分

管理员

积分
3346

社区居民社区明星最爱沙发灌水天才终身成就奖诚信商户

QQ
发表于 2008-1-23 10:50:25 | 显示全部楼层
我们的版主辛苦啦~!
而且不容易啊~^_^
安徽大学七彩梦论坛欢迎您~! www.ahubbs.com

0

主题

1

回帖

0

积分

游客

积分
0
发表于 2008-3-2 14:34:22 | 显示全部楼层
兄弟我教你最简单的  把1到16按顺序排好
1     2     3     4
5     6     7     8
9    10   11   12
13  14   15   16
然后对角线上的数互换就OK了
16   2     3    13
5     11   10   8
9      7     6     12
4     14    15   1
任何宫格都是有方法的    我现在可以把任何宫格只要几步   最多画3个图就OK了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|安徽大学论坛 ( 皖ICP备11003929号-3 )

GMT+8, 2025-8-7 20:30 , Processed in 0.354127 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

Copyright © 2006-2025 安徽大学论坛 All Rights Reserved

快速回复 返回顶部 返回列表