Joseph's Problem(2)
http://acm.pku.edu.cn/JudgeOnline/problem?id=2800
頑張って縮めたものの、これはダメじゃーと思っていたところにushiodaさんからのトラックバックがありました。
http://d.hatena.ne.jp/ushioda/20061117
102Bの最短コードが公開されています。
それから、コード短縮に関する解説はcolunさんの記事
http://d.hatena.ne.jp/colun/20061116#p1
が詳しいです。
ショートコーディングが流行りだしてもう1年になろうとしていますが、たくさんの超人が現れて、数多くのテクニックを生み出してきました。ホント、すばらしいです。
「それが何の役に立つんだ」
と言われることも多いかと思いますが、意味があろうが無かろうが短さを追求するのがショートコーダー。めげずに頑張ってください。私もまだまだ頑張ります。
あ、そだそだ。
最短ではないので公開しても仕方ないような気もしますが、一応私のコードも晒しておきます。
Cで109B
_int64 s,t; main(n,k){ for(scanf("%d%d",&n,&k);n+=t;s+=k/n*t*--t/2-k%n*t) t=(n-k%n-1)/~(k/n); printf("%I64d",s); }
式の途中でデクリメントとか、全く酷いコードなので、まっとうなプログラマーになりたい少年は真似しちゃダメですよ。(とか、いちいち書いておかないといけない気が最近してきた・・・)