挑战:
输入:三个整数:底边长度;沙粒的起始量;指数
输出:根据给定的底边长度和沙粒量,以给定的索引输出沙漏底部的状态。
挑战规则:
- 我们用数字1-9模拟沙粒
- 我们将当前剩余的沙粒数量放在中间的顶部,然后在您选择的单个字符之后(不包括数字,空格和换行符;即
-
),将其放在下面的行中 - 沙漏填充时,我们每行填充一次,一次填充一位
- 当沙子可以向左或向右移动时,我们总是向右移动(对于平衡沙漏上方沙粒的剩余量也是如此)
- 当我们到达9点时,它已经装满了,我们再也无法在沙漏中的那个特定位置放沙子了
- 剩下的沙粒数量也总是正确对齐
- 一旦沙漏的下半部分完全填满,或者剩下的沙粒数量达到0,我们就无法进行进一步操作,这将是此点之后所有索引的输出
- 允许使用0索引或1索引,请指定您在答案中使用的内容。
- 尾随和前导空格以及一条尾随或前导新行是可选的
- 如果您选择显示沙漏,则可以使用其他任何字符(而不是零)来填充沙漏底部的空白区域(不包括数字,换行符或用作颈部的字符)。
- 底边长度将始终为奇数
- 底边长度将为
>= 3
; 和沙粒的数量>= 0
- 如果需要,还可以打印所有状态,直到并包括给定索引
- 您可以假设(0索引)索引永远不会大于沙粒的总量(因此,当有100粒沙粒时,索引100是最大的有效索引输入)。
- 第一个索引(0表示0索引; 1表示1索引)将输出一个空的沙漏,上面带有一些沙粒。
示例:图片(或ascii-art)说了一千多个单词,所以这里有一个示例:
输入底边长度:5
输入沙粒数量:100
在这里显示所有步骤,而不是当前索引:
输出具有底边长度5
和沙粒量的所有可能指标100
:
100
-
0
000
00000
99
-
0
000
00100
98
-
0
000
00110
97
-
0
000
01110
96
-
0
000
01111
95
-
0
000
11111
94
-
0
000
11211
93
-
0
000
11221
92
-
0
000
12221
91
-
0
000
12222
90
-
0
000
22222
89
-
0
000
22322
88
-
0
000
22332
87
-
0
000
23332
86
-
0
000
23333
85
-
0
000
33333
84
-
0
000
33433
83
-
0
000
33443
82
-
0
000
34443
81
-
0
000
34444
80
-
0
000
44444
79
-
0
000
44544
78
-
0
000
44554
77
-
0
000
45554
76
-
0
000
45555
75
-
0
000
55555
74
-
0
000
55655
73
-
0
000
55665
72
-
0
000
56665
71
-
0
000
56666
70
-
0
000
66666
69
-
0
000
66766
68
-
0
000
66776
67
-
0
000
67776
66
-
0
000
67777
65
-
0
000
77777
64
-
0
000
77877
63
-
0
000
77887
62
-
0
000
78887
61
-
0
000
78888
60
-
0
000
88888
59
-
0
000
88988
58
-
0
000
88998
57
-
0
000
89998
56
-
0
000
89999
55
-
0
000
99999
54
-
0
010
99999
53
-
0
011
99999
52
-
0
111
99999
51
-
0
121
99999
50
-
0
122
99999
49
0
222
99999
48
-
0
232
99999
47
-
0
233
99999
46
-
0
333
99999
45
-
0
343
99999
44
-
0
344
99999
43
-
0
444
99999
42
-
0
454
99999
41
-
0
455
99999
40
-
0
555
99999
39
-
0
565
99999
38
-
0
566
99999
37
-
0
666
99999
36
-
0
676
99999
35
-
0
677
99999
34
-
0
777
99999
33
-
0
787
99999
32
-
0
788
99999
31
-
0
888
99999
30
-
0
898
99999
29
-
0
899
99999
28
-
0
999
99999
27
-
1
999
99999
26
-
2
999
99999
25
-
3
999
99999
24
-
4
999
99999
23
-
5
999
99999
22
-
6
999
99999
21
-
7
999
99999
20
-
8
999
99999
19
-
9
999
99999
因此,例如:
inputs: 5,100,1
output:
99
-
0
000
00100
Same example with another valid output format:
99
~
.
...
..1..
通用规则:
- 这是代码高尔夫球,因此最短答案以字节为单位。
不要让代码高尔夫球语言阻止您使用非代码高尔夫球语言发布答案。尝试针对“任何”编程语言提出尽可能简短的答案。 - 标准规则适用于您的答案,因此允许您使用STDIN / STDOUT,具有适当参数的函数/方法,完整程序。你的来电。
- 默认漏洞是禁止的。
- 如果可能的话,请添加一个带有测试代码的链接。
- 另外,如有必要,请添加说明。
测试用例:
INPUTS: bottom-edge length, amount of grains of sand, index (0-indexed)
inputs: 5,100,1
output:
99
-
0
000
00100
inputs: 5,100,24
output:
76
-
0
000
45555
inputs: 5,100,100
output:
19
-
9
999
99999
inputs: 5,10,15
output:
0
-
0
000
22222
inputs: 3,30,20
output:
10
-
0
677
inputs: 3,3,0
3
-
0
000
inputs: 9,250,100
150
-
0
000
00000
2333332
999999999
inputs: 9,225,220
5
-
4
999
99999
9999999
999999999
inputs: 13,1234567890,250
1234567640
-
0
000
00000
0000000
344444443
99999999999
9999999999999
inputs: 25,25,25
0
-
0
000
00000
0000000
000000000
00000000000
0000000000000
000000000000000
00000000000000000
0000000000000000000
000000000000000000000
00000000000000000000000
1111111111111111111111111
@Neil我将稍微修改规则,以使索引永远不会超出总和。可能更好理解。
—
凯文·克鲁伊森
第一个输入是否总是一个奇数?
—
Brian H.18年
@BrianH。“ 底边的长度永远都是奇怪的 ”我意识到我在这项挑战中有太多规则,所以我可以理解你已经读懂了。:)
—
Kevin Cruijssen
5,100,10000
为什么20+9+9+9+9+9+9+9+9+9 = 101
?