id:Ozy:20060603で出ていた問題が面白そうなので解いてみた
main(n,r){
float a;
for(;a=scanf("%d%d",&n,&r)&&n;printf("%.f\n",a))
for(;r=r>n-r?n-r:r;)
a=a*n--/r--;
}
floatをローカル変数にしたのが地味に重要。
そうすることでFPUだけで処理が完結出来ます。
といっても相当処理系を選ぶのでgccでしか通りませんでしたけど。
というかアセンブリになった後のことまで意識して組んだので疲れた。