生成随机魔方

时间:2017-05-30 19:42:38

标签: r matrix user-defined-functions magic-square

我想知道如何创建一个具有随机自然数的矩阵,但每列的总和也等于每行和对角线总和的总和。

我的意思是你创建一个函数,通过选择维度和行,列和对角线的总和,为您提供如上所述的方形矩阵,但每行和每列都有不同的数字。

有人知道如何实现这一目标吗?

我想在没有任何软件包的情况下自己创建一个函数来完全理解该程序。

1 个答案:

答案 0 :(得分:4)

您可以使用名为T的程序包:

public class MultIndicedListParser<T>
{
    public void Parse(int count, params List<T>[] lists)
    {
        // ...
    }

    private T GetDefaultValue(Type inputType)
    {
        // ...
    }
}

输出如下:

magic

您无法确定矩阵的总和是多少。它将是:

enter image description here

n ”是矩阵的维度。

但你可以将它乘以一个数字(最好是一个整数)。

有用的链接: What is Magic Square?

如何查看函数?

如果您想了解library(magic) magic(4) 函数的工作原理,可以使用它并逐步深入研究;

#      [,1] [,2] [,3] [,4] 
# [1,]    1   12    8   13 
# [2,]   15    6   10    3 
# [3,]   14    7   11    2 
# [4,]    4    9    5   16

您需要查看上面显示的其他功能,以完全理解该过程。