問題 #2 - 回答 #99

Base32

RFC 4648 で定義された Base32 エンコーディングを実装してください。 標準入力から与えられる各行に対し、Base32 エンコードをおこなった文字列を標準出力へ改行区切りで出力してください。 なお、アルファベットの出力には大文字を用いてください。

回答 #99

basi が 2024-03-09 01:07:04 に投稿

コード

266 byte

while($l=fgets(STDIN)){foreach(str_split(rtrim($l))as$c)@$b.=sprintf('%08b',ord($c));foreach(str_split($b,5)as$c)@$r.=(join(range('A','Z')).'234567')[bindec(str_pad($c,5,'0'))];$r.=str_repeat('=',match(strlen($b)%40){8=>6,16=>4,24=>3,32=>1,default=>0});echo $r,"
";}

実行結果

ステータス: 失敗

テストケース 1

ステータス: 不正解

標準出力

NBXWOZI=
NBXWOZI=NBXWOZLQNF4W6===
NBXWOZI=NBXWOZLQNF4W6===NBXWOZLQNF4W6ZTVM5QQ====

標準エラー出力


テストケース 2

ステータス: 不正解

標準出力

4OAYNY4BRPRYFCXDQGX6HAMS
4OAYNY4BRPRYFCXDQGX6HAMS4OAYNY4BRPRYFCXDQGX6HAMS4OA2VY4BRTRYFCPDQGDOHAMX
4OAYNY4BRPRYFCXDQGX6HAMS4OAYNY4BRPRYFCXDQGX6HAMS4OA2VY4BRTRYFCPDQGDOHAMX4OAYNY4BRPRYFCXDQGX6HAMS4OA2VY4BRTRYFCPDQGDOHAMX4OBI7Y4BTHRYFCPDQKBOHANB

標準エラー出力


テストケース 3

ステータス: 不正解

標準出力

GEZDGNBVGY3Q====
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRT
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBV
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOI=
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOI=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTI===
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOI=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTI===GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTIMI=
GEZDGNBVGY3Q====GEZDGNBVGY3TCMQ=GEZDGNBVGY3TCMRRGIZTINJWG44DSMA=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44A====GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOI=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTI===GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTIMI=GEZDGNBVGY3TCMRRGIZTINJWG44DSMBRGIZTINJWG44DCMRTGEZDGNBVGEZDGNBVGY3TQOJRGIZTIMJRGIZTINJW

標準エラー出力


テストケース 4

ステータス: 不正解

標準出力

MEQGEIDD
MEQGEIDDMEQGEIDDEAQOHAMC4OAYIIHDQGDCBY4BRAQOHAMK

標準エラー出力