裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

R らしいかもしれないがエレガントではない FizzBuzz

2012年02月18日 | ブログラミング

速度を求めるなら以下のように

> i <- 1:1000000
> system.time({
+ ans1 <- ifelse(i %% 15 == 0, "FizzBuzz", ifelse(i %% 3 == 0, "Fizz", ifelse(i %% 5 == 0, "Buzz", i)))
+ })
   ユーザ   システム       経過 
     3.214      0.141      3.334
> system.time({
+ ans2 <- i
+ l <- length(ans2)
+ ans2[1:(l%/%3)*3] <- "Fizz"
+ ans2[1:(l%/%5)*5] <- "Buzz"
+ ans2[1:(l%/%15)*15] <- "FizzBuzz"
+ })
   ユーザ   システム       経過 
     0.473      0.008      0.479
> all(ans1 == ans2)
[1] TRUE

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« R らしく FizzBuzz | トップ | もっと変態チックな FizzBuzz »
最新の画像もっと見る

コメントを投稿

ブログラミング」カテゴリの最新記事