さぼり気味な最近
ちょっとゴルフさぼっていた。
あまりよろしくない傾向なので頑張らないと。
99 shinichiros of hamaji
アドレス入れるだけならわざわざchar型に入れなくてもいいじゃない、ということで型宣言を外した。
後はこのやり方でやるならon the wallの部分は埋め込んでしまった方が短くなったのでそのように。6B縮んで254B。
流石にそろそろやり方を変えようかな・・・
*s = " shinichiroes of hamaji", *u = " shinichiro of hamaji"; i = 99; main() { for(; i;) printf("%d%s on the wall, %d%s.\n%s, %d%s on the wall.\n\n", i--, i > 1 ? s : u, i, i > 1 ? s : u, i > 1 ? "Take one down and pass it around" : "Go to the store and buy some more", i > 1 ? i - 1 : 99, i - 2 ? s : u); }
invert case
小文字を大文字に、大文字を小文字に変換しろっていう問題。
まとめて変換する方法がわからなかったので、地道に1文字づつ変換した。
おかげで大分コードが長くなってしまって55B。
まとめて変換する方法を見つけないと、これ以上は大幅に縮められそうにないなあ。
main(i) { for(; (i = getchar()) > 0;) putchar(i & 32 ? i - 32 : i + 32); }
入力がfoobarの変形型しかないので答えを埋め込んだものも試した。
短くなるかと思ったけど逆に長くなるという結果に。記録は63B。
main(i) { gets(&i); puts(i & 32 ? "FOOBAR" : i & 8192 ? "fOObar" : "foobar"); }