Last active
April 5, 2016 06:49
-
-
Save maraigue/8e1346859172b079547c to your computer and use it in GitHub Desktop.
[Ruby][74文字で書いた] 「ズン」か「ドコ」をランダムに出力し、「ズンズンズンズンドコ」が並んだ時点で「キ・ヨ・シ!」を出力し終了する
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# -*- coding: utf-8 -*- | |
# https://twitter.com/kumiromilk/status/707437861881180160 | |
c=0;loop{$><<%w(ドコ ズン)[k=rand(2)];break if c>3&&k==0;c=k*c+k};puts"キ・ヨ・シ!" | |
# 解説 | |
# | |
# c=0 | |
# 「ズン」が続いた数を数える。 | |
# これが3を超えた状態で「ドコ」が出れば終わらせることになる。 | |
# $><<%w(ドコ ズン)[k=rand(2)] | |
# $><< はコードゴルフでよく見る手段。「$>」はデフォルトの出力先(通常は標準出力)。 | |
# 代入を配列の添え字の中で行うことで、コードの長さを減らしている。 | |
# ドコを0・ズンを1にしたのは、cを計算しやすくするため。 | |
# c=k*c+k | |
# k==0ならばc=0、k==1ならばc=c+1と更新されるようにしている。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment