問題 #2 - 回答 #20
Base32
RFC 4648 で定義された Base32 エンコーディングを実装してください。 標準入力から与えられる各行に対し、Base32 エンコードをおこなった文字列を標準出力へ改行区切りで出力してください。 なお、アルファベットの出力には大文字を用いてください。
回答 #20
yamamoto-hiroya が 2024-03-07 23:25:32 に投稿
コード
446 byte
const A='ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
while($l=trim(fgets(STDIN))){
$b=$c='';
for($i=0;$i++<strlen($l);){
$b.=str_pad(base_convert(strval(ord($l[$i])),10,2),8,'0',STR_PAD_LEFT);
}
$c='';
foreach (str_split($b, 5) as $b) {
$c .= A[base_convert(str_pad($b, 5, '0'), 2, 10)];
}
$c .= match (strlen($b) % 40) {
8 => '======',
16 => '====',
24 => '===',
32 => '=',
default => '',
};
echo $c, "\n";
}
実行結果
ステータス: 失敗
テストケース 1
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 4 in php.wasm code on line 10
N5TWKAA
Warning: Uninitialized string offset 4 in php.wasm code on line 10
NF4W6AA
Warning: Uninitialized string offset 4 in php.wasm code on line 10
OVTWCAA
標準エラー出力
テストケース 2
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 15 in php.wasm code on line 10
QGDOHAML4OBIVY4BV7RYDEQA
Warning: Uninitialized string offset 15 in php.wasm code on line 10
QGVOHAMM4OBITY4BQ3RYDFYA
Warning: Uninitialized string offset 15 in php.wasm code on line 10
QKH6HAMZ4OBITY4CQLRYDIIA
標準エラー出力
テストケース 3
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 7 in php.wasm code on line 10
GIZTINJWG4AA
Warning: Uninitialized string offset 2 in php.wasm code on line 10
GIAA
Warning: Uninitialized string offset 10 in php.wasm code on line 10
GIZTINJWG44DSMAA
Warning: Uninitialized string offset 8 in php.wasm code on line 10
GIZTINJWG44AA
Warning: Uninitialized string offset 3 in php.wasm code on line 10
GIZQA
Warning: Uninitialized string offset 5 in php.wasm code on line 10
GIZTINIA
Warning: Uninitialized string offset 9 in php.wasm code on line 10
GIZTINJWG44DSAA
Warning: Uninitialized string offset 4 in php.wasm code on line 10
GIZTIAA
Warning: Uninitialized string offset 1 in php.wasm code on line 10
AA
Warning: Uninitialized string offset 6 in php.wasm code on line 10
GIZTINJWAA
標準エラー出力
テストケース 4
ステータス: 不正解
標準出力
Warning: Uninitialized string offset 5 in php.wasm code on line 10
EBRCAYYA
Warning: Uninitialized string offset 18 in php.wasm code on line 10
QGBOHAMEEDRYDBRA4OAYQIHDQGFAA
標準エラー出力