問題 #2 - 回答 #59
Base32
RFC 4648 で定義された Base32 エンコーディングを実装してください。 標準入力から与えられる各行に対し、Base32 エンコードをおこなった文字列を標準出力へ改行区切りで出力してください。 なお、アルファベットの出力には大文字を用いてください。
回答 #59
tadsan が 2024-03-08 04:56:22 に投稿
コード
280 byte
while($l=fgets(STDIN)){$l=chop($l);$t='';for(;@$i++<strlen($l);)$t.=str_pad(decbin(ord($l[$i])),8,0,0);echo join(array_map(fn($b)=>[...range('A','Z'),...range('2','7')][bindec(str_pad($b,5,0))],str_split($t,5))),[8=>'======',16=>'====',24=>'===',32=>'='][strlen($t)%40]??'',"\n";}
実行結果
ステータス: 失敗
テストケース 1
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 4 in php.wasm code on line 6
N5TWKAA=
標準エラー出力
テストケース 2
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 15 in php.wasm code on line 6
QGDOHAML4OBIVY4BV7RYDEQA
標準エラー出力
テストケース 3
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 7 in php.wasm code on line 6
GIZTINJWG4AA====
Warning: Uninitialized string offset 10 in php.wasm code on line 6
AA======
標準エラー出力
テストケース 4
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 5 in php.wasm code on line 6
EBRCAYYA
Warning: Uninitialized string offset 20 in php.wasm code on line 6
QQQOHAMGEDRYDCBA4OAYUAA=
標準エラー出力