05AB1E、8(または10?) 11(または13?)バイト
Ÿʒ₄n+¦S3ôOË
オンラインそれを試してみてくださいまたはいくつかのより多くのテストケースを検証します。
注:05AB1Eでは、文字列と整数は交換可能であるため、出力番号に先行ゼロは含まれません。ただし、これは1バイト(12バイト)を追加することで修正できます。
Ÿ₄n+€¦ʒS3ôOË
オンラインそれを試してみてくださいまたはいくつかのより多くのテストケースを検証します。
長さ3以下(範囲[000000, 000999]
)のバグ修正番号に+3バイト。
説明:
Ÿ # Create an inclusive (on both sides) range from the two inputs
# i.e. 038920 and 038910 →
# [38910,38911,38912,38913,38914,38915,38916,38917,38918,38919,38920]
ʒ # Filter this list by:
₄n+ # Add 1,000,000 to the number
| # And remove the leading 1
# i.e. 38910 → 1038910 → '038910'
S # Transform it to a list of digits
# i.e. '038910' → ['0','3','8','9','1','0']
3ô # Split it into chunks of length 3
# i.e. ['0','3','8','9','1','0'] → [['0','3','8'],['9','1','0']]
O # Sum the digits in both parts
# i.e. [['0','3','8'],['9','1','0']] → [11,10]
Ë # Check if they are equal (if they are, they remain in the filtered list)
# i.e. [11,10] → 0
編集:私(および他のほとんどの回答)は、チャレンジをわずかに誤読しているようで、範囲内の数字自体ではなく、数字の量が求められています。その場合、末尾}g
を追加することができます(フィルターを閉じ、フィルターされたリストに残っている数字の量を取得します)ので、代わりに10 13 バイトです:
Ÿʒ₄n+¦S3ôOË}g
オンラインそれを試してみてくださいまたはいくつかのより多くのテストケースを検証します。