仅使用可打印的ASCII(十六进制代码20至7E),编写一个方形N×N 核心程序,不带注释,并由另外4个层围绕,创建一个(N + 8)×(N + 8)方形程序(N> 0) 。对于N = 3,布局(将由实际代码替换)如下所示:
44444444444
43333333334
43222222234
43211111234
4321CCC1234
4321CCC1234
4321CCC1234
43211111234
43222222234
43333333334
44444444444
- C代表核心3×3程序。
- 1代表第一层,2代表第二层,依此类推。
程序始终采用一串用空格分隔的整数,例如0 -1 31 -1 2 2 2
通过stdin或类似的字符串(它应该只是纯数字,没有引号或方括号或其他任何东西)。输出取决于运行布局的哪些部分。
有五种运行程序的方式(运行中包括换行符)。每个函数都与列表不同:
只运行核心:
CCC CCC CCC
这将计算输入列表元素的绝对值的最大值,并
CORE
在新行上打印多次。如果最大值为0,则不会输出任何内容(可以使用换行符)。该输出
0 -1 31 -1 2 2 2
将CORE CORE ...
31次。
在第1层运行核心:
11111 1CCC1 1CCC1 1CCC1 11111
这会将列表值的平均值(算术平均值)输出到标准浮点精度。
- 输出为
0 -1 31 -1 2 2 2
35/7 =5
(5.0
可以)。
- 输出为
在第1层和第2层运行核心:
2222222 2111112 21CCC12 21CCC12 21CCC12 2111112 2222222
这将输出一个空格分隔的输入列表,该列表反向。
- 对于输出
0 -1 31 -1 2 2 2
会2 2 2 -1 31 -1 0
。
- 对于输出
用第1、2和3层运行核心(模式应该很明显)。
这将输出已排序输入列表的以空格分隔的列表。- 对于输出
0 -1 31 -1 2 2 2
会-1 -1 0 2 2 2 31
。
- 对于输出
用第1、2、3和4层运行核心。
这将输出空格的输入列表的列表,其中删除了重复项,顺序无关紧要。- 的输出
0 -1 31 -1 2 2 2
可能是-1 0 2 31
。
- 的输出
所有输出都将输出到stdout或类似的替代文件。
仅这5个布局组合具有指定的行为。
笔记
- 核心或层或其组合中不允许评论。无操作或无建设性的代码不算作注释。
- 请记住,核心可以具有任何(正)N×N尺寸,但是层只有一个字符厚。
- 您可以假设输入没有前导或尾随空格,并且数字之间恰好有一个空格。它将始终包含至少一个数字。(输出列表也应采用这种格式。)
- 您可能会假设输出所需的列表和计算将不会具有使整数上溢(或下溢)的值(只要它们的最大值是合理的,例如2 16)。
计分
通常编写该程序很容易。用一个小的核心来编写它是很难的。
核心大小最小(N最小)的程序获胜。如果是平局,则获胜者是完整程序((N + 8)×(N + 8)平方),其独特字符最少(不包括换行符)。
请在答案顶部报告您的N值。