https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=471
r取k有公式=>r ! / ( r - k ) ! * k ! ,也就是斯巴卡三角形注意溢位的問題 另外要考慮到 C10取1 跟C10 取9 是一樣的,做一下轉換就能避免超時的問題
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scn = new Scanner(System.in);
while(scn.hasNext()){
int r=scn.nextInt(),k=scn.nextInt();
if(r==0&&k==0)
break;
System.out.println(combi(r,k));
}
}
public static long combi(int r,int k){
long p=1;
if(r/2<k)
k = r-k;
for(int i=1;i<=k;i++){
p=p*(r-i+1)/i;
}
return p;
}
/*
題目:Q530: Binomial Showdown
作者:1010
時間:西元 2016 年 8 月 */
}