cmd.exeでもやります。期待してましたよね?よね?

### 概要 最近流行の「ズンドコキヨシ問題」を、コマンドプロンプト(cmd.exe)のワンライナーで解いてみました。
### 解 ```dosbatch cmd /v:on /c "for /L %i in (1,1,1000) do @call set /a a5=a4,a4=a3,a3=a2,a2=a1,a1=^%RANDOM^% % 2 >nul & set A=!a5!!a4!!a3!!a2!!a1!& if !a1!==1 (echo ズン) else (echo ドコ) & if !A!==11110 echo キ・ヨ・シ! & exit"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</div>
<div class="section">
    ### 雑な解説
    
<ul>
<li>処理を途中で終了する必要があるため、cmdコマンドでサブプロセスを起動する。
<ul>
<li>/v:on は遅延環境変数を有効にするオプション</li>
<li>/c "文字列" は、文字列に渡されたコマンドを実行するオプション</li>
<li>※詳細は→<a href="http://kunst1080.hatenablog.com/entry/2015/12/01/221724">コマンドプロンプトで読んでおくべき7つのHELP - その①「cmd /?」 - くんすとの備忘録</a></li>
</ul></li>
<li>0か1をランダムに1000回出力
<ul>
<li>※この部分ね→for /L %i in (1,1,1000) do @call set /a a1=^%RANDOM^% % 2</li>
</ul></li>
<li>1のときは「ズン」0のときは「ドコ」を割り当て
<ul>
<li>初期値が「0」になるので、逆にすると初回に「ドコ」が出たら終了しちゃう</li>
</ul></li>
<li>0か1だったという履歴(A)を5回まで保持(a1~a5)しておく。</li>
<li>履歴(A)が「11110」のとき、つまり「ズン ズン ズン ズン ドコ」だった時、「キ・ヨ・シ!」を出力して子プロセスを終了する</li>
</ul>
</div>