>>256
http://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/1131.c
259のように再帰を使った方がって…基本的なことを忘れてましたorz

/* intの n=33いけるかな */
int combination(int n,int r){ 
    /* if(n<r || n<0||r<0) return -1;変な値は-1*/
    if(n==r || r==0)return 1;/* 定義に基づいた簡略化 */
    return combination(n-1,r)+combination(n-1,r-1);
}

関数呼び出しの関係上段違いに遅いけどな