チャレンジ:
入力: 3つの整数:下端の長さ。砂粒の開始量; インデックス
出力:指定された下端の長さと砂粒の量に基づいて、指定されたインデックスで砂時計の下部の状態を出力します。
チャレンジルール:
- 1〜9の数字で砂の粒をシミュレートします
- 私たちは、あなた自身の選択の1文字が続き、途中で上部の砂の粒の現在の残量を置く(数字、空白や改行を除く、すなわち
-
)その下の行に - 砂時計がいっぱいになると、行ごとに1桁ずつ埋めます
- 砂が左または右に移動できる場合は、常に右に移動します(砂時計の上にある砂粒の残りの量のバランスをとる場合も同じです)
- 9に達すると、砂が満たされ、砂時計の特定の場所にこれ以上砂を入れることができなくなります
- 残った砂の粒の量も常に正しく揃えられています
- 砂時計の下半分が完全に満たされるか、残った砂粒の量が0に達すると、これ以上進むことはできません。これは、このポイントを超えるすべてのインデックスの出力になります
- 0インデックスまたは1インデックスの両方が許可されています。回答で使用したものを指定してください。
- 末尾と先頭のスペース、および単一の末尾または先頭の改行はオプションです
- あなたがそれらを表示することを選択した場合、砂時計の下の部分の空白を埋めるためにゼロの代わりに他の文字を使用することができます(数字、改行、または首として使用した文字を除く)。
- 下端の長さは常に奇数になります
- 下端の長さは
>= 3
;になります。砂粒の量>= 0
- 必要に応じて、指定されたインデックスまでのすべての状態を印刷することもできます
- (インデックスが0の)インデックスは、砂の粒の合計量より大きくなることはないと想定できます(したがって、砂の粒が100個ある場合、インデックス100は最大の有効なインデックス入力です)。
- 最初のインデックス(インデックスが0の場合は0、インデックスが1の場合は1)は、砂粒の量が上にある空の砂時計を出力します。
例:写真(またはascii-art)は1000語以上の単語を言うので、以下に例を示します。
入力下端の長さ: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..
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿することを妨げないでください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、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
5,100,10000
し、なぜ20+9+9+9+9+9+9+9+9+9 = 101
?