演習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;
}