浙江大学「C言語プログラミング(第3版)」のタイトルセットの演習2-18

演習2-18組み合わせの数を見つける(15ポイント)

この質問では、式C mn = n!M!(N − m)!C ^ n_m = \ frac {n!} {m!(n−m)!}に従ってプログラムを作成する必要があります。Cmn個=m n m n個n個の異なる要素からm個の要素(m≤n)の組み合わせの数を計算します。
関数fact(n)を定義して呼び出し、n!を計算することをお勧めします。ここで、nのタイプはintで、関数のタイプはdoubleです。

入力形式:
2つの正の整数mとn(m≤n)をスペースで区切って1行に入力します。
出力形式:
「結果=組み合わせ数の計算結果」の形式で出力しますタイトルは、結果がダブルタイプの範囲内であることを保証します。
入力サンプル:
2 7
出力サンプル:
結果= 21
作成者
YanHui
ユニット
浙江大学市立大学

コード長制限
16KB
制限時間
400ミリ秒
メモリ制限
64MB

double fact(int n) {
    
    
    double sum=1;
    for (int j = 1; j <= n; j++) {
    
    
        sum *= j;
    }
    return sum;
}

int main() {
    
    
    int m, n;
    if (scanf("%d %d", &m, &n) == 2) {
    
    
        printf("result = %.0f", fact(n) / (fact(m) * fact(n - m)));
    }
    return 0;
}

おすすめ

転載: blog.csdn.net/DoMoreSpeakLess/article/details/109257872