C++ 求組合數防止溢出


long long C(int N, int M) {
    long long sum = 1;
    for(int i=1;i<=M; i++) {
        sum=sum*(N-M+i)/i;
    }
    return sum;
}

從1開始除和乘,可以防止過早溢出和除法除不盡

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章