MOOC期末C語言試題-第四題-組合數
阿新 • • 發佈:2018-12-29
MOOC期末C語言試題-第四題-組合數
問題描述:
組合數:
題目內容:本題要求編寫程式,根據公式Cnm= 算出從n個不同元素中取出m個元素(m≤n)的組合數。建議定義和呼叫函式fact(n)計算n!,其中n的型別是int,函式型別是double。
輸入格式:輸入在一行中給出兩個正整數m和n(m≤n),以英文,分隔。
輸出格式:輸出組合數計算結果,題目保證結果在類型範圍內。
輸入樣例:2,7
輸出樣例:21
程式碼實現:
#include<stdio.h>
#include<math.h>
double Fact(int n){
int i;
int sum=1;
for(i=1;i<=n;i++)
{
sum = sum * i;
}
return sum;
}
int main()
{
int n = 0,
m = 0,
k = 0,//臨時變數
C = 0;//所求組合數
printf("請輸入n和m的值\n");
scanf("%d,%d",&n,&m);
k = Fact(m - n);
n = Fact (n);//求n的階乘,再把階乘值賦予n自己
m = Fact (m);//求m的階乘,再把階乘值賦予m自己
k = n * k;
C = (m / k) ;
printf("所求組合數值為:%d",C);
}
執行結果: