数値、文字及び文字列リテラルなしでHello Worldを出力する


出題当時に盛り上がっていたのを思い出しました
改めて回答してみました

# 問題文

https://github.com/cielavenir/codeiq_problems/blob/master/q431/editorial.md

> 標準出力に Hello World と出力するプログラムを作成して下さい。
> 
> ただし、数値、文字及び文字列リテラルを解答に含めることはできません。 Perlのqqやqw、Rubyの%Q、%q、%wなども避けたほうが評価が高くなります。 言語仕様をフル活用して下さい！

ご自身で考えてみる方向けに、解答例の記述までにいくらか行を空けておきます

<br><br><br><br><br><br><br><br>
...
<br><br><br><br><br><br><br><br>

よろしいですか





# 解答例1

```php
<?php

echo Hello::class,  \chr(\strlen(\md5(\PHP_VERSION))), World::class, \PHP_EOL;
```

# 解答例2

```php
<?php

echo \base64_decode(SGVsbG8gV29ybGQK::class);
```

# 解答例3

```php
<?php

$H=\chr(             \count([    [],[],[],[],[],[],[],[],[],[],    [],[],[],                         [],[],[],                         [],[],[],[],[],[],[],[],[],[],    [],[],[],     []     ,[],[],[]    ,[],[],[],[],[],[],[],[],[],[]    ,[],[],[],[],[],[],[],[],[],[]    ,[],[],[]                         ,[],[],[],[],[],[],[             ],[],[],[    ],[],[],[    ],[],[],[    ],]));$e=    \chr(\count    ([[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]/**************************************************************************************************/
,[],[],[             ],[],[],    [],[],[],[],[],[],[],[],[],[],    [],[],[],                         [],[],[],                         [],[],[],[],[],[],[],[],[],[],    [],[],[],    [],[    ],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[                         ],[],[],[],[],[],[],[],[]        ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[],]    ));$l=\chr(\count([[],[],[],[],[],[],[],[]/*********************************************************************************************************/
,[],[],[             ],[],[],    [],[],[]                          ,[],[],[]                         ,[],[],[]                         ,[],[],[]            ,[],[],[]    ,[],[],[]   ,[],[]   ,[],[],[]    ,[],[],[]            ,[],[],[]    ,[],[],[]            ,[],[],[]    ,[],[],[]                         ,[],[],[]        ,[],[],[]       ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[],[    ],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],/*******************************************/
[],]));$o=\chr(\count([[],[],    [],[],[],[],[],[],[],[],[],[],    [],[],[],                         [],[],[],                         [],[],[],            [],[],[],    [],[],[],  [],[],[]  ,[],[],[]    ,[],[],[]            ,[],[],[]    ,[],[],[]            ,[],[],[]    ,[],[],[]                         ,[],[],[]           ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],[],[],[    ],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],/*******************************************************************************/
[],[],[],[],[],[],[],[],[],[]    ,[],[],[],[],[],[],[],[],[],])    );$_=\chr                         (\count([                         [],[],[],            [],[],[],    [],[],[], [],[  ],[] ,[],[],[]    ,[],[],[]            ,[],[],[]    ,[],[],[],[],[],[],[],[],[],[     ],[],]));                         $W=\chr(            \count([[    ],[],[],[    ],[],[],[    ],[],[],[    ],[],[],[    ],[],[],[],    [],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],/******************************************************************************************/
[],[],[]             ,[],[],[    ],[],[],                          [],[],[],                         [],[],[],                         [],[],[],            [],[],[],    [],[],[] ,[],[  ],[],[],[],[],    [],[],[],            [],[],[],    [],[],[],        [],[],[],        [],[],[],                         [],[],[],        [],[],[],                                                                          [],[],]));$r=\chr(\count([[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],
[],[],[]             ,[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[]    ,[],[],[],[],    [],[],[],[],[],[],[],[],[],[],    [],[],[],         [],[],[],       [],[],[],]));$d=\chr(\count([[    ],[],[],[],[],[],[],[],[]        ,[],[],[]    ,[],[],[]    ,[],[],[]    ,[],/***/    /*********/    /***************************************************************************************************************************************************/
[],[],[]             ,[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[],[      ],[],[],[],[    ],[],[],[],[],[],[],[],[],[],[    ],[],[],[          ],[],[],[]     ,[],[],[],[],[],[],[],[],[],[]    ,[],]));echo$H.$e.$l             .$l.$o.$_    .$W.$o.$r    .$l.$d./*    */\PHP_EOL   ;/********/    /***************************************************************************************************************************************************/
```

改行やスペースは人力で入力しましたので、右端が綺麗に揃いませんでした
コメントを入れて揃えてあります

綺麗に出力できるツールとかってあるのでしょうか

# 解答例4

```html
Hello World
```

当時話題だった中で、強烈だった解答例です
確かにそうだ。PHPってすげえだ。自分で気付きたかっただ

(ただし、出題者からの評価は高くありません)
(また、開始タグありが前提になっている実行環境では動きません)

このときは仕事でPHPを使ってませんでした
後年使うことになろうとは、もちろん知るよしもありません
というかこの業界にもいなかったような。記憶が曖昧です

# おわりに

この記事では以前話題になったCodeIQの問題を紹介しました
とっつきやすいながらひと工夫が必要で、楽しめる問題でした

それではごきげんよう