1 条题解
-
0
思路分析
1. 任务拆解:
- 将5本不同的书借给3个小朋友
- 每人每次只能借1本
- 不能有重复借书(同一本书不能借给多人)
- 计算所有不同的借法数量
2. 关键点分析:
- 这是一个排列问题:从5本书中选3本,分给3个小朋友
- 设小朋友A借书a,B借书b,C借书c
- 约束条件:a, b, c 互不相同(1-5之间)
- 使用三重循环枚举所有可能的借书组合
3. 步骤规划:
- 外层循环枚举A借的书a(1-5)
- 中层循环枚举B借的书b(1-5)
- 内层循环枚举C借的书c(1-5)
- 检查三本书是否互不相同
- 统计满足条件的借法数量
4. 代码对应:
for(int a=1;a<=5;a++)→ 枚举A借的书for(int b=1;b<=5;b++)→ 枚举B借的书for(int c=1;c<=5;c++)→ 枚举C借的书if(a!=b&&a!=c&&b!=c)→ 检查三本书互不相同s++→ 统计有效借法cout<<s→ 输出总借法数量
数学验证: 这是排列问题P(5,3) = 5×4×3 = 60种借法
- 1
信息
- ID
- 260
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- (无)
- 递交数
- 428
- 已通过
- 194
- 上传者