演習2-18組み合わせの数を見つける(15ポイント)
この質問では、式に従ってn個の異なる要素からm個の要素(m≤n)の組み合わせの数を計算するプログラムを作成する必要があります。
関数fact(n)を定義して呼び出し、n!を計算することをお勧めします。nの型はintで、関数の型はdoubleです。
入力形式:
1行にスペースで区切られた2つの正の整数mとn(m≤n)を入力します。
出力形式:
「結果=組合せ数計算結果」の形式で出力します。タイトルは、結果がdoubleタイプ内であることを保証します。
入力例:
2 7
出力例:
result = 21
コード:
#include"stdio.h"
double fact(int n)
{
if(n >= 2)
{
return n*fact(n-1);
}
return 1;
}
int main()
{
int m, n;
scanf("%d %d", &m, &n);
printf("result = %0.lf", fact(n)/fact(m)*fact(n-m)));
return 0;
}
上記のファクト関数は再帰的ですが、分からない場合はバイドゥが使えます。