8.借書方案知多少
小明有五本新書,要借給A,B,C三位小朋友,若每人每次只能借一本,則可以有多少種不同的借法?
*問題分析與算法設(shè)計
本問題實際上是一個排列問題,即求從5個中取3個進行排列的方法的總數(shù)。首先對五本書從1至5進行編號,然后使用窮舉的方法。假設(shè)三個人分別借這五本書中的一本,當(dāng)三個人所借的書的編號都不相同時,就是滿足題意的一種借閱方法。
*程序說明與注釋
void main()
{
int a,b,c,count=0;
printf("There are diffrent methods for XM to distribute books to 3 readers:\n");
for(a=1;a<=5;a++) /*窮舉第一個人借5本書中的1本的全部情況*/
for(b=1;b<=5;b++) /*窮舉第二個人借5本書中的一本的全部情況*/
for(c=1;a!=b&&c<=5;c++) /*當(dāng)前兩個人借不同的書時,窮舉第三個人借5本書
中的1本的全部情況*/
if(c!=a&&c!=b) /*判斷第三人與前兩個人借的書是否不同*/
printf(count%8?"%2d:%d,%d,%d ":"%2d:%d,%d,%d\n ",++count,a,b,c);
/*打印可能的借閱方法*/
}
*運行結(jié)果
There are diffrent methods for XM to distribute books to 3 readers:
1: 1,2,3 2: 1,2,4 3: 1,2,5 4: 1,3,2 5: 1,3,4
6: 1,3,5 7: 1,4,2 8: 1,4,3 9: 1,4,5 10:1,5,2
11:1,5,3 12:1,5,4 13:2,1,3 14:2,1,4 15:2,1,5
16:2,3,1 17:2,3,4 18:2,3,5 19:2,4,1 20:2,4,3
21:2,4,5 22:2,5,1 23:2,5,3 24:2,5,4 25:3,1,2
26:3,1,4 27:3,1,5 28:3,2,1 29:3,2,4 30:3,2,5
31:3,4,1 32:3,4,2 33:3,4,5 34:3,5,1 35:3,5,2
36:3,5,4 37:4,1,2 38:4,1,3 39:4,1,5 40:4,2,1
41:4,2,3 42:4,2,5 43:4,3,1 44:4,3,2 45:4,3,5
小明有五本新書,要借給A,B,C三位小朋友,若每人每次只能借一本,則可以有多少種不同的借法?
*問題分析與算法設(shè)計
本問題實際上是一個排列問題,即求從5個中取3個進行排列的方法的總數(shù)。首先對五本書從1至5進行編號,然后使用窮舉的方法。假設(shè)三個人分別借這五本書中的一本,當(dāng)三個人所借的書的編號都不相同時,就是滿足題意的一種借閱方法。
*程序說明與注釋
void main()
{
int a,b,c,count=0;
printf("There are diffrent methods for XM to distribute books to 3 readers:\n");
for(a=1;a<=5;a++) /*窮舉第一個人借5本書中的1本的全部情況*/
for(b=1;b<=5;b++) /*窮舉第二個人借5本書中的一本的全部情況*/
for(c=1;a!=b&&c<=5;c++) /*當(dāng)前兩個人借不同的書時,窮舉第三個人借5本書
中的1本的全部情況*/
if(c!=a&&c!=b) /*判斷第三人與前兩個人借的書是否不同*/
printf(count%8?"%2d:%d,%d,%d ":"%2d:%d,%d,%d\n ",++count,a,b,c);
/*打印可能的借閱方法*/
}
*運行結(jié)果
There are diffrent methods for XM to distribute books to 3 readers:
1: 1,2,3 2: 1,2,4 3: 1,2,5 4: 1,3,2 5: 1,3,4
6: 1,3,5 7: 1,4,2 8: 1,4,3 9: 1,4,5 10:1,5,2
11:1,5,3 12:1,5,4 13:2,1,3 14:2,1,4 15:2,1,5
16:2,3,1 17:2,3,4 18:2,3,5 19:2,4,1 20:2,4,3
21:2,4,5 22:2,5,1 23:2,5,3 24:2,5,4 25:3,1,2
26:3,1,4 27:3,1,5 28:3,2,1 29:3,2,4 30:3,2,5
31:3,4,1 32:3,4,2 33:3,4,5 34:3,5,1 35:3,5,2
36:3,5,4 37:4,1,2 38:4,1,3 39:4,1,5 40:4,2,1
41:4,2,3 42:4,2,5 43:4,3,1 44:4,3,2 45:4,3,5