| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1715 人关注过本帖
标题:[求助]九宫格
只看楼主 加入收藏
xvholly
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-31
收藏
 问题点数:0 回复次数:9 
[求助]九宫格
朋友们给我讲讲怎样实现九宫格的算法?
九宫格:将1~9不重复的填入3X3的格子里,使横,竖,斜数字相加都相等.
谢谢诸位了!
搜索更多相关主题的帖子: 九宫 
2007-03-28 19:11
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
呵呵
我只知道
先确定那些组加一起相等
然后各族互相组合

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2007-03-28 21:37
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 

这个好象以前做过


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-03-28 22:18
xvholly
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-31
收藏
得分:0 
以下是引用song4在2007-3-28 21:37:05的发言:
呵呵
我只知道
先确定那些组加一起相等
然后各族互相组合

那是不是先要算出,加起来应该是多少? 是的话还是想不出怎样计算每组的和.


2007-03-31 14:15
western8
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-4-2
收藏
得分:0 
这是二维幻方游戏吧,有规律的。自己先找找,很简单的;
Hint:可以斜着填。
2007-04-02 00:56
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 

斜着填好写一些...


[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-04-02 15:05
xvholly
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-1-31
收藏
得分:0 
回复:(xvholly)[求助]九宫格

//终于知道算法了,还以为是要产生一组随机数来一个个的测试.

void array(int a[3][3])
{
int k = 1,
i = 0,
j = 1;
a[0][1] = k++;
while (k <= 9)
{
i--;
j++;

if (i < 0 && j > 2)
{
i += 2;
j --;
}

if (i < 0)
{
i = 2;
}
if (j > 2)
{
j = 0;
}

if (a[i][j] == 0)
{
a[i][j] = k++;
}
else
{
i += 2;
j--;
a[i][j] = k++;
}
}
}


2007-04-20 13:17
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
算法是不错,可以说一下数学上的依据吗?

学习需要安静。。海盗要重新来过。。
2007-04-20 13:41
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 

#include "stdio.h"

void array(int a[3][3])
{
int k = 1,
i = 0,
j = 1;
a[0][1] = k++;
while (k <= 9)
{
i--;
j++;

if (i < 0 && j > 2)
{
i += 2;
j --;
}

if (i < 0)
{
i = 2;
}
if (j > 2)
{
j = 0;
}

if (a[i][j] == 0)
{
a[i][j] = k++;
}
else
{
i += 2;
j--;
a[i][j] = k++;
}
}
}
main()
{ int a[3][3]={0};
array(a);
for(int i=0;i<3;i++)
{
for( int j=0;j<3;j++)
{
printf(" %d ",a[i][j]);
}
printf("\n");
}
}

我把测试数据也给了,就是不知道为什么?再顶一下


学习需要安静。。海盗要重新来过。。
2007-04-20 13:42
风之语录
Rank: 1
等 级:新手上路
帖 子:62
专家分:0
注 册:2006-3-15
收藏
得分:0 
这算法不是古书里写的步法吗???

2007-04-20 14:25
快速回复:[求助]九宫格
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013389 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved