开课了!无聊也是如此。我决定在我的笔记本上涂鸦,并开始画一些点(国际海事组织)一种美感的方式。我想出了这些数字:

基于这些条件:
给予(n,m)
( 1)必须有n个点
( 2)所有点必须位于m×m格上。
3)点的位置必须使左上角的距离最小。
4)如图所示,点的结构必须是对角对称的:

*扩散(在这个上下文中)被定义为从左上角点位置的距离之和(是否有一个点)。例如,上面示例的扩展是0+1+2+1+√2 +2+ 2√2 =6+ 3√2
挑战
提出一种使用自然数n和m(总是n <= m^2)的算法来生成符合上述所有规则的点的配置。
输入可以通过STDIN、命令行参数或函数参数接收.
将模式输出到STDOUT或返回带有换行符的字符串。输出中可以使用任意两个不同的字符。(例如
110
100
000是相同的
**-
*--
---STDIN:6 3
STDOUT:
***
**_
*__七天后,我决定宣布获奖者,但首先一些特殊的奖项!
最快的密码到..。或者他在派斯的投稿!
最慢的代码到..。或者他在派斯的投稿!
最直接的代码是..。或者他在派斯的投稿!
最令人困惑的代码是..。或者他在派斯的投稿!
最长的密码到..。或者他在派斯的投稿!
上的投稿
祝贺你!
发布于 2015-09-15 11:19:06
jc:*d*QQiRQhos.aMNf.Am}_dTT.c^UQ2vzNQ慢解。生成所有可能的[0,m]对,生成这些对的所有可能的n-组合(不重复)。过滤每对组合,如果P在组合中,reverse(P)也是。这保证了对角线对称。根据距离的总和对原点进行排序。将数字对解码为基-m数,给出一个索引列表。除了这些索引之外,创建一个空格字符串,用引号代替。最后切成m块,用新的线条连接起来。创建这样的输出:
""""
"""
""
"https://codegolf.stackexchange.com/questions/57953
复制相似问题