目次
お題
お題
配列{"ドド","スコ"}からランダムに要素を標準出力し続け、 『その並びが「ドドスコスコスコ」を3回繰り返したもの』に一致したときに 「ラブ注入♡」と標準出力して終了するプログラムを作成してください。
回答例
Groovyで解いてみた
dodosuko.groovy
def array = ['ドド', 'スコ'] def getWord = { def r = new Random(System.currentTimeMillis()) return { array[r.nextInt(2)] } }() def keyword = 'ドドスコスコスコ' * 3 def love = 'ラブ注入♡' def words = 'どどすこすこすこ' * 3 for (int count in 1..10000) { def w = getWord() words = words[2..-1] + w print "${w + (count % 20 == 0 ? "\n" : '')}" if (words == keyword) { println love println "${count} times." break } }
- for (int count in 1..10000)
- メインループの回数はとりあえず1万回にしています。このくらいあれば組み合わせとして出てくるはず。
参考
出典
- ((🐑++))さんの、このツイート