閃き待ち

ぼーっとコードを眺めて閃き待ちしている今日この頃。
最短コードを書ける人の頭の中ってどうなってるんだろうと思うことしばし。
知識の有無も当然だろうけど、思考が根本的に違う気がするんだよなあ。
と焦っても仕方ないので当面は愚直なコードで攻めよう。
当面が何時までも続きませんように・・・

Fibonacci Numbers

フィボナッチ数列の1番目から46番目までの数を出力するっていう問題。
Project Euler用に作ったものがあったからちょっといじって流用した。
そこそこ短くなったけどこれではぶっちぎりの最下位候補。82B。
2個のループを1個にまとめるのに慣れてきたのが収穫かな。

f[46] = {1,1};
j;

main(i)
{
  for(; j < 46;)
    i < 46 ? f[i++] = f[i-2] + f[i-1] : printf("%d\n", f[j++]);
}

google

oをガッとまとめて入れられないかなーと考えてたら思いついた。
ループいらずでCPUにも優しい63B。
と思ったら実行時間が結構長い。あれ?

o[];

main(i)
{
  scanf("%d", &i);
  memset(o, 'o', i);
  printf("g%sgle", o);
}