有!矩阵线圈(蛇形)
我有在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时矩阵的样子。 我在互联网上搜索,发现只是螺旋矩阵,但不是这一个。 谢谢!
有!矩阵线圈(蛇形)
我有在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时矩阵的样子。 我在互联网上搜索,发现只是螺旋矩阵,但不是这一个。 谢谢!
我认为这个矩阵的生成规则是从左上角开始,然后通过逆时针方向开始将其填充到最小的循环中,一旦满足边界,就在顺时针和逆时针之间切换。
因此,对于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)
不错的东西,有乐趣的编程与它。
非常感谢您的支持!我认为在奇数和偶数的情况下n必须是一个规则。 – 2015-01-04 11:48:53
这个问题似乎是题外话,因为它不是编程 – 2015-01-04 11:29:37
当然,这是关于足球! – 2015-01-04 11:33:39
http://math.stackexchange.com/是一个更好的网站来问这个问题?但实际上,直觉上,我猜想为了建立这个n = 5,你只是继续螺旋,即你把“17”放在“16”的右边,然后用“18,19,20”向下完成该列,21“,然后再次向左(从右向左),”22,23,24,25“。 – jogojapan 2015-01-04 11:33:40