トップ «前の日記(2012-11-27(Tue)) 最新 次の日記(2012-11-29(Thu))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2012-11-28(Wed) 晴れてるらしい

bc(1)のfizzbuzz

shebang できることがわかった。
てきとうに man を流す。

#!/usr/bin/bc --quiet
for(x=1; x <= 100; x++) {
  if ((x % 15) == 0) {
     print "fizzbuzz\n"
  } else { 
    if (x % 5 == 0) {
      print "buzz\n"
    } else {
      if (x % 3 == 0) {
        print "fizz\n"
      } else {
        print x, "\n"
      }
    }
  }
}
quit

なんとか動いたが、なんか退屈というか。
Ubuntu-12.04 の他、FreeBSD-8.3-RELEASE でも 動いた(GNU bc 1.06)。

POSIX bc はちょっと手に負えないかも。
と思いながら、うんと低い手段で。
値を直接列挙するよりはマシかもしれないが。

for(x=1; x <= 100; x++) {
  if (x % 15) {
    if (x % 5)  {
       if (x % 3) {
          x
       }       
     }
  }
  if (x % 15) {
      if  (x % 3 < 1 ) {
        "fizz   
"
      }
  }
  if (x % 15) {
    if (x % 5 < 1) {
        "buzz   
"
    }
  }
  if ( x % 15 < 1) {
        "fizzbuzz
"
  }
}
quit

--standard(shebang 自体が駄目みたい) でも文句言われないようにできたことが、取り柄といえば 取り柄か。
ちなみに"!" も使えなかった(--standardオプションをつけると撥ねられる)。


リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。