2.借书方案知多少

问题描述:小明有5本新书,要借给A,B,C这三位小朋友,若每次每人只能借一本,则可以有多少种不同的借法?

 

问题分析:我们可以将5本书进行1~5的编号,A,B,C。 3个人每次都可以从5本书中任选一本书,即每人都有5种选择,由于一本书不可能同时借给一个以上的人,因此三个人的书籍编号不一样。

abc三位同学每个人五次循环嵌套

判断是否借书编号相同

若相同则不输出

都不同则输出结果

每次成功输出则给count加一

最后得出所有排列顺序和总数

 

 

代码:

#include <stdio.h>

int main() {
int a, b, c,i=0;

int count=0;
for (a = 1; a <= 5; a++)//a同学借书编号1~5

{
for (b = 1; b <= 5; b++)//b同学借书编号1~5

{
for (c = 1; c <= 5; c++)//c同学借书编号1~5

{
if (a != b && a != c && b != c)// 判断三人abc借书的编号1~5是否重复

{
printf("A=%2d B=%2d C=%2d\t", a, b, c);//输出结果
i++;

count++;//统计借书的种树
if (i % 4 == 0) {
printf("\n");
}

}
}
}
}

printf("共有%d种借书法",count);
return 0;
}

posted on 2023-04-15 21:40  HA_wind  阅读(51)  评论(0)    收藏  举报

导航