C語言 回溯例2

2022-07-14 10:12:10 字數 701 閱讀 6523

組合問題

組合:從n個不同元素中取r個不重複的元素組成乙個子集,而不考慮其元素的順序,稱為從n個中取r個的無重組合,例如or = , n = 4, r

= 3則無重組合為:

; ; ; .

1

/****************組合*****************

*/2 #include 3

4int

main()526

}27if(flag && (i==m))//

輸出解28

34 printf("");

35if(num%6==0

)36 printf("\n"

);37}38

if(flag&&i

3944

while(a[i]==n&&i>1)i--;//

回溯45

if(a[i]==n&&i==1)46

49else

5053

}54 printf("

\n組合數c(%d,%d)=%d

",n,m,num);

55return0;

56 }

執行結果:

回溯演算法C語言

其最著名的問題便是八皇后問題 將八位皇后放在一張8x8的棋盤上,使得每位皇后都無法吃掉別的皇后,即任意兩個皇后都不在同一條橫線,豎線和斜線上 問一共有多少種擺法。之前被誤導走了好多彎路唉不說了說多了都是淚 void chess int queen 8 8 int n,int a 放置皇后並進入下乙個...

C語言經典例程 經典c程式2例

前言 this article mainly introduces the classical routine of c language,2 cases of classical c program.friends who study c language can refer to it.程式1 ...

c語言經典100例》c2 利潤分層

程式2 題目 企業發放的獎金根據利潤提成 利潤低於或等於10萬元時,獎金可提10 利潤高於10萬元,低於20萬元時,低於10萬元的部分按10 提成,高於10萬元的部分,可提成7.5 20萬到40萬之間時,高於20萬元的部分,可提成5 40萬到60萬之間時高於40萬元的部分,可提成3 60萬到100萬...