1 条题解

  • 0
    @ 2025-10-24 17:30:22

    思路分析

    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
    上传者