voidcombi(unsignedlong**);intmain(){unsignedlong**table;table=newunsignedlong*[101];//0到100 for(inti=0;i<101;i++){table[i]=newunsignedlong[i+2];//0到i+1 table[i][i+1]=0;table[i][i]=1;table[i][0]=1;}combi(table);intn,m;while(scanf("%d %d",&n,&m)){if(n==0&&m==0)break;elseprintf("%d things taken %d at a time is %u exactly.\n",n,m,table[n][m]);}//system("pause"); return0;}voidcombi(unsignedlong**table){for(intm=1;m<=100;m++)for(intn=m+1;n<=100;n++)table[n][m]=table[n-1][m]+table[n-1][m-1];//n>=1;m>=1}