16
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rでズンドコキヨシ関数を

Last updated at Posted at 2016-03-10

#元ネタ

#コード
kiyoshi.R
kiyoshi<-function(){
  x <- c()
  repeat{
    x<-c(sample(c("ズン","ドコ"), 1,replace=T),x)
    print(x[1])
    if(length(x)>4&prod(x[1:5] == c("ドコ","ズン","ズン","ズン","ズン"))==1){
      cat("キ・ヨ・シ!(", length(x),"回ズンドコしました)\n",sep = "")
      break
    }

    if(length(x)>999){
      print("キ・ヨ・シ!はできませんでした")
      break
    }
  }
}

#結果(画像)
test.JPG

#要約

Rではsample関数によって復元抽出を行うことができます。
選ばれた"ズン" あるいは"ドコ" を用意したベクトルの先頭に挿入します。
"キ・ヨ・シ!" への分岐条件は、ベクトルの最初の5つの要素と
"ズン" "ズン" "ズン" "ズン" "ドコ" を逆さまにしたベクトルを比較することで行います。
この比較の結果はベクトルで返されるので、if文にあてはめるためにprod関数でベクトル内の要素を全てかけ合わせます。
TRUE = 1, FALSE = 0なので"ズン" "ズン" "ズン" "ズン" "ドコ" 全てがマッチしたときだけ1になります。
結果はcat関数で、せっかくなのでズンドコした回数もベクトルの長さを取得して出力します。

#余談
Rはこういう仕事向いていないんじゃないかなあ

#先人
http://qiita.com/y__sama/items/7c451dfd706f9b36729d

16
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?