1 条题解

  • 0
    @ 2025-10-24 18:09:44

    题目:三人分钱问题

    思路分析

    1. 任务拆解:

      • 从最终状态(每人8元)开始逆向计算
      • 按照相反顺序还原分钱过程
      • 求出最初各人的钱数
    2. 关键点分析:

      • 采用逆向思维,从结果倒推初始状态
      • 每次分钱时,分钱者将自己的钱分给另外两人
      • 逆向操作:分钱者收回自己分出去的钱
    3. 步骤规划:

      • 从最终每人8元开始
      • 逆向丙分钱:甲、乙各还钱给丙
      • 逆向乙分钱:甲、丙各还钱给乙
      • 逆向甲分钱:乙、丙各还钱给甲
      • 得到最初的钱数
    4. 代码对应:

      • int a=8,b=8,c=8; - 初始化最终状态
      • a/=2;b/=2; c=a+b+c; - 逆向丙分钱过程
      • a/=2;c/=2; b=a+b+c; - 逆向乙分钱过程
      • b/=2;c/=2; a=a+b+c; - 逆向甲分钱过程
      • printf("%d\n%d\n%d\n",a,b,c); - 输出最初钱数

    注: 代码通过逆向计算,从最终每人8元倒推出最初甲13元、乙7元、丙4元

    • 1

    信息

    ID
    1215
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    (无)
    递交数
    431
    已通过
    217
    上传者