怎么设计这个算法?

Wenxy1 2003-03-01 11:08:11
一个数组 int iArray[1][8],数组里的内容为:
iArray[0][0] 0,0
iArray[0][1] 1,7
iArray[0][2] 2,1
iArray[0][3] 3,2
iArray[0][4] 4,3
iArray[0][5] 5,4
iArray[0][6] 6,5
iArray[0][7] 7,6

现在要求对以上数组值的第2列作一个有规律的变换,即:
07123456 ---> 06712345
这个变换要循环 7*7!*6!*...* 2! * 1! 次,
该怎么做呢?请指教,多谢!
...全文
51 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
shines77 2003-04-12
  • 打赏
  • 举报
回复
靠,八皇后问题?地球人都知道。。。。

楼主你把问题表述成什么样了,真是有创意:)
jiaojianjj 2003-04-07
  • 打赏
  • 举报
回复
UP
yydyqy 2003-04-07
  • 打赏
  • 举报
回复
八皇后问题..........
http://www.csdn.net/develop/Read_Article.asp?Id=17815
------ java实现,参考一下,C++实现应该差不多


Wenxy1 2003-04-07
  • 打赏
  • 举报
回复
没有人进来.
我自己顶一下帖子.
Wenxy1 2003-04-07
  • 打赏
  • 举报
回复
这个算法的原题目如下:
(我有个想法,但在变换一个数组没有想出好的方法.)

由8*8见方的棋盘上放置8个棋子要求任意两个棋子不能出现在同一行,同一列,或同一对角线上请用C++语言编程并写出算法设计.
Wenxy1 2003-04-07
  • 打赏
  • 举报
回复
终于找到了,在高级程序员教程上( 清华大学出版社 ),有代码.
Wenxy1 2003-03-03
  • 打赏
  • 举报
回复
to shines(Othelloing) :
你好像没有完全理解我的意思,或者是我的提问帖子说的不清楚,明天我再写个贴子。
shines77 2003-03-03
  • 打赏
  • 举报
回复
07123456 ---> 06712345
规律:最后一位插入到第二位,其余不变。

每变换7次就变回原来的模样,所以方法很简单,

只要:
计算7*7!*6!*...* 2! * 1! / 7 的余数即可,
化简:= 6! *6! *...* 2! * 1! / 7 的余数。

= 17915904000 / 7 取余=1

所以最终结果是 06712345。
Wenxy1 2003-03-03
  • 打赏
  • 举报
回复
若做出了,请写出C++代码。
Wenxy1 2003-03-03
  • 打赏
  • 举报
回复
是一个测设程式的简化了的问题,这个问题的原理是一样的,请帮帮忙嘛!










1
liugy 2003-03-03
  • 打赏
  • 举报
回复
有什么实际意义吗?
Wenxy1 2003-03-03
  • 打赏
  • 举报
回复
没人对这个问题感兴趣???

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧