トップ «前の日記(2013-01-31(Thu)) 最新 次の日記(2013-02-02(Sat))» 編集

屑俺日記

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


2013-02-01(Fri) 今は晴れているが

再再実装

昨晩の実装は間が抜けていたような気がした。

#include<stdio.h>
#define FIRST 0
#define LAST 100
#define DEF 0
#define FIZZ 1
#define BUZZ 2
#define FIZZBUZZ 3
  
int main() {
  int i, fbnum; 
  int fblist[15] = {DEF, DEF, FIZZ, DEF, BUZZ,
                FIZZ, DEF, DEF, FIZZ, BUZZ,
                DEF, FIZZ, DEF, DEF, FIZZBUZZ};
  for(i=FIRST; i<LAST; i++) {
    fbnum = fblist[i%15];
    switch (fbnum) {
      case FIZZ: printf("fizz\n");
        break;
      case BUZZ: printf("buzz\n");
        break;
      case FIZZBUZZ: printf("fizzbuzz\n");
        break;
      default: printf("%d\n", i+1);
    }
  }
  return 0;
}

例によって一億までやってみる。
今度はいくらか速い目になったようだ。

switch ... case の順番を変えてみた

default に FIZZBUZZを持ってきてみた。

一番出現頻度の少ないFIZZBUZZをdefaultにすると、 ぐっと速くなったようだ。
一番多いNUMを最初に記述してみたりしたが、 こちらは効果なさげ。


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

index.htmlは ここから。