«前の日記(2007年05月10日) 最新 次の日記(2007年05月17日)»

fkino diary


2007年05月11日 anarchy gold [長年日記]

_ FizzBuzz

素直に書くとこんな感じ。

#include <stdio.h>
#include <string.h>

int main(void) {
  char str[16];
  int i;
  for (i = 1; i <= 100; i++) {
    str[0] = '\0';
    if (!(i % 3)) {
      strcat(str, "Fizz");
    }
    if (!(i % 5)) {
      strcat(str, "Buzz");
    }
    if (!str[0]) {
      sprintf(str, "%d", i);
    }
    printf("%s\n", str);
  }
  return 0;
}

これ(↑)をこんな感じ(↓)にしてみました。

int main(){int i=0;while(i++<100){char f[]="Fizz",b[]="Buzz";i%3?*f=0:0;i%5?*b=0:0;*f|*b?printf("%s%s\n",f,b):printf("%d\n",i);}}

うーん。今の私には、これ以上はどんなに頭を絞っても出てきませんでした。

サイズは131バイト。これならtwitterでも送れるから良しとしよう。

今日の時点でC言語部門42位かぁ。

http://golf.shinh.org/p.rb?FizzBuzz#C

Tags: C