2009年9月29日火曜日

FizzBuzz問題

今回は腕試しにFizzBuzz問題をR言語を用いて解いてみた.どこかでコンピュータサイエンスの学科を卒業した連中でも,この問題がさらっと解けるか怪しいのが多いという記事を読んだのだが,本当なのだろうかと疑います.

FizzBuzz <- function(n){
if( n < 1 ){
return(-1)
}
strs <- character(n)
for( i in 1:n ){
if( i %% 3 == 0  && i %% 5 == 0 ){
strs[i] <- "FizzBuzz"
}else if( i %% 3 == 0  ){
strs[i] <- "Fizz"
}else if( i %% 5 == 0 ){
strs[i] <- "Buzz"
}else{
strs[i] <- as.character(i)
}
}
return(strs)
}

こうしておいて,いくつかの入力を試してみると,

> FizzBuzz(-3)
[1] -1
> FizzBuzz(20)
[1] "1"        "2"        "Fizz"     "4"        "Buzz"     "Fizz"    
[7] "7"        "8"        "Fizz"     "Buzz"     "11"       "Fizz"    
[13] "13"       "14"       "FizzBuzz" "16"       "17"       "Fizz"    
[19] "19"       "Buzz"    

となって,無事できてそうな雰囲気である.入力が文字列型ならばエラーで落ちてくれるのでOKとしておこう.

2009年9月26日土曜日

this is a test posting

This is a test posting.

#include <stdio.h>

int main()
{
printf("Hello world!");
return 0;
}

Wow! source code's color changed!

フォロワー

ページビューの合計