撰寫一個程式,計算分組的組合數,從n個元素中取出m[1]到m[5]個元素分成有順序的五組的所以組合數,其計算公式是n!/m[1]!*....*m[5]!
uj5u.com熱心網友回復:
感覺這個公式是不能直接用程式計算的,起碼n!就是個很大的數字,100!計算機int就表示不了。是不是需要先化簡公式?uj5u.com熱心網友回復:
直接用排列數P(n,r)計算不就可以了嗎?p(n,r)=n(n-1)(n-2).....(n-r+1)
你這個就是p(n,5)=n(n-1)(n-2)...(n-5+1)
int n ;
cin>>n;
int ret = 1;
for(int r = 1 ; i<= 5; i++)
{
ret *= n - i + 1;
}//ret 就是結果
uj5u.com熱心網友回復:
但是n太大了,ret就會溢位。不過作為作業,你們老師是不會考慮這些的。轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/15783.html
標籤:基礎類
上一篇:scanf回傳值被忽略
下一篇:C語言 JAVA都可以
