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   HA_wind  阅读(33)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示