問題 #2 - 回答 #147

Base32

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

回答 #147

tsbkw が 2024-03-09 11:32:35 に投稿

コード

457 byte

const TABLE=['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','2','3','4','5','6','7'];while($l=fgets(STDIN)){$l=trim($l);$b='';for($i=0;$i<strlen($l);$i++){$b.=str_pad(base_convert(strval(ord($l[$i])),10,2),8,'0',STR_PAD_LEFT);}foreach(str_split($b,5)as$n){$a.=TABLE[base_convert(str_pad($n,5,'0'),2,10)];}$a.=match(strlen($b)%40){8=>'======',16=>'====',24=>'===',32=>'=',default=>''};echo$a.PHP_EOL;}

実行結果

ステータス: 失敗

テストケース 1

ステータス: 不正解

標準出力


Warning: Undefined variable $a in php.wasm code on line 6
NBXWOZI=
NBXWOZI=OBUXS3Y=
NBXWOZI=OBUXS3Y=MZ2WOYI=

標準エラー出力


テストケース 2

ステータス: 不正解

標準出力


Warning: Undefined variable $a in php.wasm code on line 6
4OAYNY4BRPRYFCXDQGX6HAMS
4OAYNY4BRPRYFCXDQGX6HAMS4OA2VY4BRTRYFCPDQGDOHAMX
4OAYNY4BRPRYFCXDQGX6HAMS4OA2VY4BRTRYFCPDQGDOHAMX4OBI7Y4BTHRYFCPDQKBOHANB

標準エラー出力


テストケース 3

ステータス: 不正解

標準出力


Warning: Undefined variable $a in php.wasm code on line 6
GEZDGNBVGY3Q====
GEZDGNBVGY3Q====GEZA====
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQ
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===GEZDGNBV
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===GEZDGNBVGEZDGNBVGY3TQOI=
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===GEZDGNBVGEZDGNBVGY3TQOI=GEZDGNA=
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===GEZDGNBVGEZDGNBVGY3TQOI=GEZDGNA=GE======
GEZDGNBVGY3Q====GEZA====GEZDGNBVGY3TQOJQGEZDGNBVGY3TQ===GEZDG===GEZDGNBVGEZDGNBVGY3TQOI=GEZDGNA=GE======GEZDGNBVGY======

標準エラー出力


テストケース 4

ステータス: 不正解

標準出力


Warning: Undefined variable $a in php.wasm code on line 6
MEQGEIDD
MEQGEIDD4OAYFY4BQQQOHAMGEDRYDCBA4OAYU===

標準エラー出力