チャレンジ:
入力: 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?