2015-01-04 90 views
0

有!矩阵线圈(蛇形)

我有在Java中的问题,以生成这样的矩阵:

当n = 4

{{1 4 5 16}, 
{2 3 6 15}, 
{9 8 7 14}, 
{10 11 12 13}}; 

矩阵768,16含有从1到n * n个数字。

我不想要任何代码,我只想看看当n = 5和n = 6时矩阵的样子。 我在互联网上搜索,发现只是螺旋矩阵,但不是这一个。 谢谢!

+3

这个问题似乎是题外话,因为它不是编程 – 2015-01-04 11:29:37

+0

当然,这是关于足球! – 2015-01-04 11:33:39

+1

http://math.stackexchange.com/是一个更好的网站来问这个问题?但实际上,直觉上,我猜想为了建立这个n = 5,你只是继续螺旋,即你把“17”放在“16”的右边,然后用“18,19,20”向下完成该列,21“,然后再次向左(从右向左),”22,23,24,25“。 – jogojapan 2015-01-04 11:33:40

回答

1

我认为这个矩阵的生成规则是从左上角开始,然后通过逆时针方向开始将其填充到最小的循环中,一旦满足边界,就在顺时针和逆时针之间切换。

因此,对于n = 5,将是这样的:

{{ 1 4 5 16 17}, 
{ 2 3 6 15 18}, 
{ 9 8 7 14 19}, 
{10 11 12 13 20}, 
{25 24 23 22 21}}; 

当n = 6就应该是这样的:

{{ 1 4 5 16 17 36}, 
{ 2 3 6 15 18 35}, 
{ 9 8 7 14 19 34}, 
{10 11 12 13 20 33}, 
{25 24 23 22 21 32}, 
{26 27 28 29 30 31}}; 

还有一些有趣的变量。 在第一行中,每个第二个条目是一个偶数的平方,从4(2)开始。 在第一列中,每个第二个条目是奇数的平方,从1(1)开始。

生产的对角线为F(n) := n == 1 ? 1 : F(n-1) + 2(n-1)

不错的东西,有乐趣的编程与它。

+0

非常感谢您的支持!我认为在奇数和偶数的情况下n必须是一个规则。 – 2015-01-04 11:48:53