From fbd4f2129ce8fe106391302896dd86e05b2f331b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Fri, 5 Dec 2025 04:08:22 +0900 Subject: add files --- archive/q/base32/a/143/index.html | 139 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 archive/q/base32/a/143/index.html (limited to 'archive/q/base32/a/143/index.html') diff --git a/archive/q/base32/a/143/index.html b/archive/q/base32/a/143/index.html new file mode 100644 index 0000000..c54b3fb --- /dev/null +++ b/archive/q/base32/a/143/index.html @@ -0,0 +1,139 @@ + + + + + 問題 #2 - 回答 #143 | Albatross.PHP + + + + + +
+ +
+
+

問題 #2 - 回答 #143

+ + +

Base32

+

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

+

回答 #143

+

+ keitamax が 2024-03-09 10:39:08 に投稿 +

+

コード

+

+ 429 byte +

+
$t=array_merge(range('A','Z'),range('2','7'));
+while($line=STDIN) {
+$line=rtrim($line);
+$bits='';
+for($i=0;$i++<strlen($line);) {
+$bits.=str_pad(base_convert(strval(ord($line[$i])),10,2),8,'0',STR_PAD_LEFT);
+}
+$base32='';
+foreach(str_split($bits,5)as$b) {
+$base32.=t[base_convert(str_pad($b,5,'0'),2,10)];
+}
+$base32.=match(strlen($bits)%40){
+8=>'======',
+16=>'====',
+24=>'===',
+32=>'=',
+default => '',
+};
+echo $base32, PHP_EOL;
+}
+

実行結果

+
+
+
+ ステータス: 失敗 +
+
+

テストケース 1

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: rtrim(): Argument #1 ($string) must be of type string, resource given in php.wasm code:8
+Stack trace:
+#0 php.wasm code(8): rtrim(Resource id #2)
+#1 {main}
+  thrown in php.wasm code on line 8
+
+
+

標準エラー出力

+

+
+

テストケース 2

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: rtrim(): Argument #1 ($string) must be of type string, resource given in php.wasm code:8
+Stack trace:
+#0 php.wasm code(8): rtrim(Resource id #2)
+#1 {main}
+  thrown in php.wasm code on line 8
+
+
+

標準エラー出力

+

+
+

テストケース 3

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: rtrim(): Argument #1 ($string) must be of type string, resource given in php.wasm code:8
+Stack trace:
+#0 php.wasm code(8): rtrim(Resource id #2)
+#1 {main}
+  thrown in php.wasm code on line 8
+
+
+

標準エラー出力

+

+
+

テストケース 4

+
+ ステータス: 実行時エラー +
+

標準出力

+

+Fatal error: Uncaught TypeError: rtrim(): Argument #1 ($string) must be of type string, resource given in php.wasm code:8
+Stack trace:
+#0 php.wasm code(8): rtrim(Resource id #2)
+#1 {main}
+  thrown in php.wasm code on line 8
+
+
+

標準エラー出力

+

+
+
+ +
+ + + -- cgit v1.2.3-70-g09d2