c 程式設計的問題

2022-07-21 00:20:07 字數 781 閱讀 5150

1樓:q嘿仔

排列用c++實現(遞迴):

template

void swap(t& a, t& b);

template

void perm(t list, int k, int m)else

for (int i = k; i <= m; ++i)} template

inline void swap(t& a, t& b)這裡邊有具體的分法(怎麼分),如果只要多少種那根好算:

根據數學公式:從n個元素中取r個有cn(r)種取法,cn(r)= n!/(r!*(n-r)!)所以可用下列函式:

int perm(int n, int r)int fac(int n)

還有一種就是標準庫裡邊中有permutation函式(排列)上面兩種可以從不同的角度解決你的需要!

你只需要將5, 3作為引數帶入即可得到結果,當然也可以傳入別的值:如,10,5表示10本不同的書分給5個人有幾種分法等~~~~~~~~~~~

2樓:海笑認為

如果是用筆算你肯定會吧?所以你先用c++定義出c12,c32之類排列組合的運算,然後分情況帶入算就可以了。

3樓:匿名使用者

五選三。數學演算法。

再細分:

五先1 * 四先1 * 三先1

#define num 5

int count = 0;

for ( int i=0; i < num; i++ ) }}cout << count << endl;

c語言程式設計問題,c語言程式設計問題?

include int main int i,n double sum 0 scanf d n for i 1 i n i sum i i 1.0 i 1 printf f n sum return 0 include void main c語言程式設計問題 解題思bai路 完全跟百錢買百雞的問題是...

C語言程式設計問題,c語言程式設計問題

先判斷括號中的真假,a是先將a自減1,得到值0,然後b 的意思是取得b的值和 a判斷後才將b 1,括號中的表示式為真,所以x的值是 a,因為已經將a自減1了,此時再減1得到 1,賦給x。將a的值賦給y,然後a 1,所以y的值也是 1,在 a b 因為已經將b 1了,所以z的值為1.i 是執行前 1 ...

c語言程式設計,求兔子問題,c語言程式設計問題

因為只有6年,定義乙個陣列儲存第n年各歲兔子的數量 include int sum int n return a 0 a 1 a 2 a 3 a 4 a 5 void main 壽命是6年,也就是還是要掛掉的。遞迴光加了,沒有考慮死掉的哦 include include void main if r...