问题标签 [magic-square]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
579 浏览

wolfram-mathematica - wolfram mathematica中n阶魔方

请你帮我在 Wolfram Mathematica 中为幻方创建函数。我必须创建函数 MagicSquare[n_],它的输出是前 n^2 个整数的平方矩阵,并且每列、每行和对角线上的这些整数的总和必须相同。请帮助我,我尝试了几天,但失败了。我的学校作业需要这个。

0 投票
3 回答
469 浏览

list - Prolog 数字列表的总和

我是 Prolog 的新手,我想编写poppler(Nums, Plate, Tastiness)一个包含 9 个数字的列表作为输入,如果可能,返回这些数字的排列,当Plate以行主要格式读取时,这些数字形成一个美味的波普勒板。

如果三行、三列和两条主对角线中每一行的 Poppler 之和相同,则称一个 Poppler 盘子好吃。这个共同的金额被称为它的美味。

例如,这是一个美味的波普勒盘子15

这是我的尝试:

但这不起作用。我该如何解决?

0 投票
0 回答
491 浏览

arrays - (C 程序)用户制作的幻方在 11x11 阵列上失败,但适用于最大 11x11 的所有尺寸?

好吧,所以我认为我的代码正在工作,而且似乎确实如此,它允许用户选择一个幻方的大小,其中第一个是起点并从第一行的中心开始。图案沿着这条线走……如果你向上超过第一行……回到最后一行,或者如果你跑出列右侧的末端而不是回到列的开头......如果您不熟悉它,那么在魔方中,当计算该边或对角线上的数字时,所有边都是相等的。

必须输入一个奇数才能将其写为幻方(例如:3x3、5x5、7x7 等)。问题是它在我输入 11x11 之前一直有效……完成后,它又回来了当程序运行到一个已经被填满的插槽时,它应该在输入到数组中的最后一个数字下方输入下一个数字......但是当输入 11x11 时,它会用 13 覆盖 1 从而中断循环和破坏了模式....如果有人帮助我,我将不胜感激,我认为问题可能与我用来选择起点的方程式有关。这一直有效到 11x11,之后输入的每个奇数似乎都会覆盖起点。

0 投票
2 回答
1352 浏览

algorithm - 如何创建具有恒定行和列总和的 1 和 0 的对称矩阵

我试图找到一个优雅的算法来创建一个 1 和 0 的 N x N 矩阵,在限制下:

  • 每行和每列的总和必须为 Q(可以自由选择)
  • 对角线必须为 0
  • 矩阵必须是对称的。

矩阵不一定是随机的(但是,随机和非随机解都很有趣),所以对于 Q 偶数,只需使每一行成为向量的循环移位

[0 1 1 0 ... 0 0 0 ... 0 1 1](对于 Q=4)

是一个有效的解决方案。

但是,如何为 Q 奇数做到这一点?或者如何以随机方式为 Q 做到这一点?

对于那些好奇的人,我正在尝试在抽象网络上测试一些现象。

如果之前已经回答过这个问题,我深表歉意,但我能找到的问题都没有对称限制,这似乎使它变得更加复杂。我没有证据证明这样的矩阵总是存在的,但我确实如此假设。

0 投票
3 回答
1460 浏览

prolog - 序言我必须制作一个计算魔法矩阵置换的程序

我必须制作一个计算魔法矩阵的程序,我已经制作了我的代码并且它可以工作,但是我的置换非常慢。我需要一个更快的人可以帮助我请

这是代码:

0 投票
2 回答
785 浏览

prolog - 如何在Prolog中获取一个数字的值列表作为4个数字的总和

我无法使这个谓词起作用。这个想法是用来diabolic([A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P])获得该列表中所有可能的幻方。

起初我考虑过使用permutation/2,但对于 16 个数字的列表来说它很慢。

然后我在这里找到了一个使用外部库(clpfd)并具有出色性能的示例,但我试图在没有任何外部库的情况下解决它......所以我尝试了这样的事情:

我正在尝试做的是获取所有可能的不同数字的列表,总和为 34,因此我可以检查哪个组合构成一个幻方(希望使其比使用正常排列更快。

尽管如此,我仍然收到有关预期操作员的错误,member(X,[1..16]),所以也许我做错了什么。我对 Prolog 很陌生,所以我希望能从你们那里得到一些帮助。

提前致谢。

0 投票
1 回答
1004 浏览

algorithm - 找出由 n*m 组成的矩形中有多少个幻方的函数,其中 n,m - 自然数

在此处输入图像描述
我需要编写一个算法来解决这个练习,有什么建议吗?

锻炼:

我们有一个矩形,分成 nxm 个正方形,带有自然数。编写一个函数来计算这个矩形内有多少个魔方。

幻方是 kxk (k>=2) 个数字(通常是整数)在方形网格中的排列,其中每行和每列中的数字以及主对角线和辅助对角线中的数字加起来为相同的号码。

0 投票
1 回答
404 浏览

java - 魔方首选输出

我有一个关于 MAGIC SQUARE 的任务:

但我需要重写它。

这是我目前的代码:


目前,我的程序输出是:

我的程序输出

我的预期/期望输出:

在此处输入图像描述

我需要的是起始数字 (1) 位于行 x col 的中上部,然后模式是向上然后向左。

0 投票
1 回答
454 浏览

java - 我的魔方算法有问题

嗨,我在 java 中创建了一个 Magic Square 程序,如果您输入数字 3,它可以正常工作,但如果我输入 5 等等,就会出现问题。模式变得错误。

请帮我找出我的代码有什么问题:

这是我的代码:

当我输入 3 时它是正确的,这是输出:

在此处输入图像描述

但是当我输入一个像5这样的数字时:它变成:

在此处输入图像描述

更新!

0 投票
2 回答
286 浏览

java - 我怎么能反转我的魔方的输出

我写了一个魔方程序,它运行良好。

但我需要将我的工作输出反转为:(查看输出):

目前我的程序输出是:

在此处输入图像描述

我想要的输出是:

在此处输入图像描述

这是我目前的代码:

伙计们,请帮我调试我的代码,我所需要的只是一些不会完全损害我的代码的更改。我认为我的 LOOP 中有些东西要改变,但我找不到。

也许是数学公式..